[INFO] fetching crate unionize 0.3.0... [INFO] testing unionize-0.3.0 against 1.91.0 for beta-1.92-2 [INFO] extracting crate unionize 0.3.0 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate unionize 0.3.0 [INFO] finished tweaking crates.io crate unionize 0.3.0 [INFO] tweaked toml for crates.io crate unionize 0.3.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate unionize 0.3.0 on toolchain 1.91.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate unionize 0.3.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded which v4.4.0 [INFO] [stderr] Downloaded either v1.8.1 [INFO] [stderr] Downloaded shlex v1.1.0 [INFO] [stderr] Downloaded quote v1.0.27 [INFO] [stderr] Downloaded wait-timeout v0.2.0 [INFO] [stderr] Downloaded rusty-fork v0.3.0 [INFO] [stderr] Downloaded sha2 v0.10.6 [INFO] [stderr] Downloaded sise v0.8.0 [INFO] [stderr] Downloaded procinfo v0.4.2 [INFO] [stderr] Downloaded serde_cbor v0.10.2 [INFO] [stderr] Downloaded clang-sys v1.6.1 [INFO] [stderr] Downloaded prettyplease v0.2.5 [INFO] [stderr] Downloaded libm v0.2.6 [INFO] [stderr] Downloaded nom v2.2.1 [INFO] [stderr] Downloaded bindgen v0.65.1 [INFO] [stderr] Downloaded getrandom v0.2.9 [INFO] [stderr] Downloaded syn v2.0.16 [INFO] [stderr] Downloaded log v0.4.17 [INFO] [stderr] Downloaded proc-macro2 v1.0.56 [INFO] [stderr] Downloaded proptest v1.1.0 [INFO] [stderr] Downloaded regex v1.8.1 [INFO] [stderr] Downloaded errno v0.3.1 [INFO] [stderr] Downloaded hermit-abi v0.3.1 [INFO] [stderr] Downloaded regex-syntax v0.7.1 [INFO] [stderr] Downloaded io-lifetimes v1.0.10 [INFO] [stderr] Downloaded tempfile v3.5.0 [INFO] [stderr] Downloaded rustix v0.37.11 [INFO] [stderr] Downloaded half v1.8.2 [INFO] [stderr] Downloaded cpufeatures v0.2.7 [INFO] [stderr] Downloaded digest v0.10.6 [INFO] [stderr] Downloaded xs233-sys v0.2.0 [INFO] [stderr] Downloaded once_cell v1.17.1 [INFO] [stderr] Downloaded xs233 v0.3.0 [INFO] [stderr] Downloaded libc v0.2.141 [INFO] [stderr] Downloaded linux-raw-sys v0.3.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a7144d4939b8bae93c25961b8b8d1be2647ec7e6f5e1b695ed9279e21bb20c85 [INFO] running `Command { std: "docker" "start" "-a" "a7144d4939b8bae93c25961b8b8d1be2647ec7e6f5e1b695ed9279e21bb20c85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a7144d4939b8bae93c25961b8b8d1be2647ec7e6f5e1b695ed9279e21bb20c85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7144d4939b8bae93c25961b8b8d1be2647ec7e6f5e1b695ed9279e21bb20c85", kill_on_drop: false }` [INFO] [stdout] a7144d4939b8bae93c25961b8b8d1be2647ec7e6f5e1b695ed9279e21bb20c85 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f8e84d7c7a5190e4b098cbdf2f42960e72d25488544914f0da47465ba5c9ef5d [INFO] running `Command { std: "docker" "start" "-a" "f8e84d7c7a5190e4b098cbdf2f42960e72d25488544914f0da47465ba5c9ef5d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.141 [INFO] [stderr] Compiling proc-macro2 v1.0.56 [INFO] [stderr] Compiling quote v1.0.27 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling prettyplease v0.2.5 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling typenum v1.16.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling libloading v0.7.4 [INFO] [stderr] Compiling clang-sys v1.6.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling bindgen v0.65.1 [INFO] [stderr] Compiling io-lifetimes v1.0.10 [INFO] [stderr] Compiling regex-syntax v0.7.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling either v1.8.1 [INFO] [stderr] Compiling syn v2.0.16 [INFO] [stderr] Compiling which v4.4.0 [INFO] [stderr] Compiling shlex v1.1.0 [INFO] [stderr] Compiling rustix v0.37.11 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling libm v0.2.6 [INFO] [stderr] Compiling getrandom v0.2.9 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling linux-raw-sys v0.3.1 [INFO] [stderr] Compiling cc v1.0.79 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling serde v1.0.164 [INFO] [stderr] Compiling regex v1.8.1 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling procinfo v0.4.2 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling wait-timeout v0.2.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling digest v0.10.6 [INFO] [stderr] Compiling rand_xorshift v0.3.0 [INFO] [stderr] Compiling nom v2.2.1 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling cpufeatures v0.2.7 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling tempfile v3.5.0 [INFO] [stderr] Compiling quick-error v2.0.1 [INFO] [stderr] Compiling sha2 v0.10.6 [INFO] [stderr] Compiling sise v0.8.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling serde_derive v1.0.164 [INFO] [stderr] Compiling proptest v1.1.0 [INFO] [stderr] Compiling xs233-sys v0.2.0 [INFO] [stderr] Compiling serde_cbor v0.10.2 [INFO] [stderr] Compiling xs233 v0.3.0 [INFO] [stderr] Compiling unionize v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree/mem_rc_bounds/mod.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Tree(Rc>); [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "f8e84d7c7a5190e4b098cbdf2f42960e72d25488544914f0da47465ba5c9ef5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f8e84d7c7a5190e4b098cbdf2f42960e72d25488544914f0da47465ba5c9ef5d", kill_on_drop: false }` [INFO] [stdout] f8e84d7c7a5190e4b098cbdf2f42960e72d25488544914f0da47465ba5c9ef5d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 761401b5ddd4422aff3229c7d3e9ddb7d43d3f0c75949f1d18e8ba9a71a64867 [INFO] running `Command { std: "docker" "start" "-a" "761401b5ddd4422aff3229c7d3e9ddb7d43d3f0c75949f1d18e8ba9a71a64867", kill_on_drop: false }` [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree/mem_rc_bounds/mod.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Tree(Rc>); [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling unionize v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree/mem_rc_bounds/mod.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Tree(Rc>); [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.08s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "761401b5ddd4422aff3229c7d3e9ddb7d43d3f0c75949f1d18e8ba9a71a64867", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "761401b5ddd4422aff3229c7d3e9ddb7d43d3f0c75949f1d18e8ba9a71a64867", kill_on_drop: false }` [INFO] [stdout] 761401b5ddd4422aff3229c7d3e9ddb7d43d3f0c75949f1d18e8ba9a71a64867 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a1806ee29c690ffe8f930b9947e69f08b74453b83586b27fefff38d964352e46 [INFO] running `Command { std: "docker" "start" "-a" "a1806ee29c690ffe8f930b9947e69f08b74453b83586b27fefff38d964352e46", kill_on_drop: false }` [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/tree/mem_rc_bounds/mod.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct Tree(Rc>); [INFO] [stderr] | ---- ^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `unionize` (lib) generated 1 warning [INFO] [stderr] warning: `unionize` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/unionize-df7c044d394414c8) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test monoid::timestamped::tests::timestamped_is_protocolmonoid ... ok [INFO] [stdout] test query::item_filter::tests::base_test ... ok [INFO] [stdout] test query::item_filter::tests::repro_atttempt ... ok [INFO] [stdout] test monoid::mulhash_xs233::tests::serialize_correctness ... ok [INFO] [stdout] test item::le_byte_array::tests::serialize_correctness ... ok [INFO] [stdout] test range::tests::serialize_correctness ... ok [INFO] [stdout] test query::split::test::split_correctness ... ok [INFO] [stdout] test query::simple::test::simple_correctness ... ok [INFO] [stdout] test protocol::tests::serialize_correctness_stream ... ok [INFO] [stdout] test protocol::tests::serialize_correctness ... ok [INFO] [stdout] test protocol::tests::protocol_correctness ... FAILED [INFO] [stdout] test monoid::mulhash_xs233::tests::xsk_lift_and_add_100k_items ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- protocol::tests::protocol_correctness stdout ---- [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {12, 26, 31, 50, 59, 60, 72, 74, 75, 124, 137, 140, 141, 142, 175, 192, 195, 202, 206, 207, 208, 221, 231, 248, 266, 285, 286, 300, 318, 328, 329, 356, 386, 392, 405, 422, 443, 478, 495, 502, 509, 515, 538, 558, 564, 572, 596, 598, 601, 610, 622, 636, 639, 646, 665, 694, 695, 740, 748, 771, 775, 787, 795, 814, 837, 849, 858, 859, 863, 864, 876, 892, 896, 909, 927, 953, 955, 966, 971, 996} [INFO] [stdout] b items: {8, 22, 33, 94, 95, 128, 168, 208, 269, 274, 277, 282, 345, 356, 364, 378, 392, 411, 415, 420, 425, 443, 511, 546, 566, 616, 637, 641, 691, 696, 714, 729, 735, 776, 790, 791, 815, 844, 867, 882, 895, 909, 925} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(12, 997), fp: EncodedCountingMonoid(80, SumMonoid(39378)) }], item_sets: [ItemSet { range: Range(997, 12), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(12, 511), fp: EncodedCountingMonoid(21, SumMonoid(5799)) }, Fingerprint { range: Range(511, 997), fp: EncodedCountingMonoid(21, SumMonoid(15576)) }], item_sets: [ItemSet { range: Range(997, 12), items: [8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(12, 221), fp: EncodedCountingMonoid(21, SumMonoid(2528)) }, Fingerprint { range: Range(221, 511), fp: EncodedCountingMonoid(20, SumMonoid(7200)) }, Fingerprint { range: Range(511, 787), fp: EncodedCountingMonoid(20, SumMonoid(12783)) }, Fingerprint { range: Range(787, 997), fp: EncodedCountingMonoid(19, SumMonoid(16867)) }], item_sets: [], wants: [8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(12, 128), fp: EncodedCountingMonoid(4, SumMonoid(244)) }, Fingerprint { range: Range(128, 221), fp: EncodedCountingMonoid(3, SumMonoid(504)) }, Fingerprint { range: Range(221, 378), fp: EncodedCountingMonoid(7, SumMonoid(2167)) }, Fingerprint { range: Range(378, 511), fp: EncodedCountingMonoid(7, SumMonoid(2884)) }, Fingerprint { range: Range(511, 691), fp: EncodedCountingMonoid(6, SumMonoid(3517)) }, Fingerprint { range: Range(691, 787), fp: EncodedCountingMonoid(6, SumMonoid(4341)) }, Fingerprint { range: Range(787, 882), fp: EncodedCountingMonoid(5, SumMonoid(4107)) }, Fingerprint { range: Range(882, 997), fp: EncodedCountingMonoid(4, SumMonoid(3611)) }], item_sets: [], wants: [], provide: [(8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(12, 60), fp: EncodedCountingMonoid(5, SumMonoid(178)) }, Fingerprint { range: Range(60, 128), fp: EncodedCountingMonoid(5, SumMonoid(405)) }, Fingerprint { range: Range(128, 195), fp: EncodedCountingMonoid(6, SumMonoid(927)) }, Fingerprint { range: Range(195, 221), fp: EncodedCountingMonoid(5, SumMonoid(1018)) }, Fingerprint { range: Range(221, 300), fp: EncodedCountingMonoid(6, SumMonoid(1537)) }, Fingerprint { range: Range(300, 378), fp: EncodedCountingMonoid(5, SumMonoid(1631)) }, Fingerprint { range: Range(378, 478), fp: EncodedCountingMonoid(5, SumMonoid(2048)) }, Fingerprint { range: Range(478, 511), fp: EncodedCountingMonoid(4, SumMonoid(1984)) }, Fingerprint { range: Range(511, 601), fp: EncodedCountingMonoid(7, SumMonoid(3941)) }, Fingerprint { range: Range(601, 691), fp: EncodedCountingMonoid(7, SumMonoid(4419)) }, Fingerprint { range: Range(691, 748), fp: EncodedCountingMonoid(3, SumMonoid(2129)) }, Fingerprint { range: Range(748, 787), fp: EncodedCountingMonoid(3, SumMonoid(2294)) }, Fingerprint { range: Range(787, 858), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(858, 882), fp: EncodedCountingMonoid(5, SumMonoid(4320)) }, Fingerprint { range: Range(882, 955), fp: EncodedCountingMonoid(5, SumMonoid(4577)) }, Fingerprint { range: Range(955, 997), fp: EncodedCountingMonoid(4, SumMonoid(3888)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(378, 420), fp: EncodedCountingMonoid(4, SumMonoid(1596)) }, Fingerprint { range: Range(420, 478), fp: EncodedCountingMonoid(3, SumMonoid(1288)) }, Fingerprint { range: Range(691, 729), fp: EncodedCountingMonoid(3, SumMonoid(2101)) }], item_sets: [ItemSet { range: Range(12, 60), items: [22, 33], want_response: true }, ItemSet { range: Range(60, 128), items: [94, 95], want_response: true }, ItemSet { range: Range(128, 195), items: [128, 168], want_response: true }, ItemSet { range: Range(195, 221), items: [208], want_response: true }, ItemSet { range: Range(221, 277), items: [269, 274], want_response: true }, ItemSet { range: Range(277, 300), items: [277, 282], want_response: true }, ItemSet { range: Range(300, 364), items: [345, 356], want_response: true }, ItemSet { range: Range(364, 378), items: [364], want_response: true }, ItemSet { range: Range(478, 511), items: [], want_response: true }, ItemSet { range: Range(511, 566), items: [511, 546], want_response: true }, ItemSet { range: Range(566, 601), items: [566], want_response: true }, ItemSet { range: Range(601, 641), items: [616, 637], want_response: true }, ItemSet { range: Range(641, 691), items: [641], want_response: true }, ItemSet { range: Range(729, 748), items: [729, 735], want_response: true }, ItemSet { range: Range(748, 787), items: [776], want_response: true }, ItemSet { range: Range(787, 815), items: [790, 791], want_response: true }, ItemSet { range: Range(815, 858), items: [815, 844], want_response: true }, ItemSet { range: Range(858, 882), items: [867], want_response: true }, ItemSet { range: Range(882, 909), items: [882, 895], want_response: true }, ItemSet { range: Range(909, 955), items: [909, 925], want_response: true }, ItemSet { range: Range(955, 997), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(12, 60), items: [12, 26, 31, 50, 59], want_response: false }, ItemSet { range: Range(60, 128), items: [60, 72, 74, 75, 124], want_response: false }, ItemSet { range: Range(128, 195), items: [137, 140, 141, 142, 175, 192], want_response: false }, ItemSet { range: Range(195, 221), items: [195, 202, 206, 207, 208], want_response: false }, ItemSet { range: Range(221, 277), items: [221, 231, 248, 266], want_response: false }, ItemSet { range: Range(277, 300), items: [285, 286], want_response: false }, ItemSet { range: Range(300, 364), items: [300, 318, 328, 329, 356], want_response: false }, ItemSet { range: Range(364, 378), items: [], want_response: false }, ItemSet { range: Range(478, 511), items: [478, 495, 502, 509], want_response: false }, ItemSet { range: Range(511, 566), items: [515, 538, 558, 564], want_response: false }, ItemSet { range: Range(566, 601), items: [572, 596, 598], want_response: false }, ItemSet { range: Range(601, 641), items: [601, 610, 622, 636, 639], want_response: false }, ItemSet { range: Range(641, 691), items: [646, 665], want_response: false }, ItemSet { range: Range(729, 748), items: [740], want_response: false }, ItemSet { range: Range(748, 787), items: [748, 771, 775], want_response: false }, ItemSet { range: Range(787, 815), items: [787, 795, 814], want_response: false }, ItemSet { range: Range(815, 858), items: [837, 849], want_response: false }, ItemSet { range: Range(858, 882), items: [858, 859, 863, 864, 876], want_response: false }, ItemSet { range: Range(882, 909), items: [892, 896], want_response: false }, ItemSet { range: Range(909, 955), items: [909, 927, 953], want_response: false }, ItemSet { range: Range(955, 997), items: [955, 966, 971, 996], want_response: false }, ItemSet { range: Range(378, 405), items: [386, 392], want_response: true }, ItemSet { range: Range(405, 420), items: [405], want_response: true }, ItemSet { range: Range(420, 478), items: [422, 443], want_response: true }, ItemSet { range: Range(691, 729), items: [694, 695], want_response: true }], wants: [22, 33, 94, 95, 128, 168, 269, 274, 277, 282, 345, 364, 511, 546, 566, 616, 637, 641, 729, 735, 776, 790, 791, 815, 844, 867, 882, 895, 925], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(378, 405), items: [378, 392], want_response: false }, ItemSet { range: Range(405, 420), items: [411, 415], want_response: false }, ItemSet { range: Range(420, 478), items: [420, 425, 443], want_response: false }, ItemSet { range: Range(691, 729), items: [691, 696, 714], want_response: false }], wants: [12, 26, 31, 50, 59, 60, 72, 74, 75, 124, 137, 140, 141, 142, 175, 192, 195, 202, 206, 207, 221, 231, 248, 266, 285, 286, 300, 318, 328, 329, 478, 495, 502, 509, 515, 538, 558, 564, 572, 596, 598, 601, 610, 622, 636, 639, 646, 665, 740, 748, 771, 775, 787, 795, 814, 837, 849, 858, 859, 863, 864, 876, 892, 896, 927, 953, 955, 966, 971, 996, 386, 405, 422, 694, 695], provide: [(22, true), (33, true), (94, true), (95, true), (128, true), (168, true), (269, true), (274, true), (277, true), (282, true), (345, true), (364, true), (511, true), (546, true), (566, true), (616, true), (637, true), (641, true), (729, true), (735, true), (776, true), (790, true), (791, true), (815, true), (844, true), (867, true), (882, true), (895, true), (925, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [378, 411, 415, 420, 425, 691, 696, 714], provide: [(12, true), (26, true), (31, true), (50, true), (59, true), (60, true), (72, true), (74, true), (75, true), (124, true), (137, true), (140, true), (141, true), (142, true), (175, true), (192, true), (195, true), (202, true), (206, true), (207, true), (221, true), (231, true), (248, true), (266, true), (285, true), (286, true), (300, true), (318, true), (328, true), (329, true), (478, true), (495, true), (502, true), (509, true), (515, true), (538, true), (558, true), (564, true), (572, true), (596, true), (598, true), (601, true), (610, true), (622, true), (636, true), (639, true), (646, true), (665, true), (740, true), (748, true), (771, true), (775, true), (787, true), (795, true), (814, true), (837, true), (849, true), (858, true), (859, true), (863, true), (864, true), (876, true), (892, true), (896, true), (927, true), (953, true), (955, true), (966, true), (971, true), (996, true), (386, true), (405, true), (422, true), (694, true), (695, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(378, true), (411, true), (415, true), (420, true), (425, true), (691, true), (696, true), (714, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {12, 26, 31, 50, 59, 60, 72, 74, 75, 124, 137, 140, 141, 142, 175, 192, 195, 202, 206, 207, 208, 221, 231, 248, 266, 285, 286, 300, 318, 328, 329, 356, 386, 392, 405, 422, 443, 478, 495, 502, 509, 515, 538, 558, 564, 572, 596, 598, 601, 610, 622, 636, 639, 646, 665, 694, 695, 740, 748, 771, 775, 787, 795, 814, 837, 849, 858, 859, 863, 864, 876, 892, 896, 909, 927, 953, 955, 966, 971, 996} + [8, 22, 33, 94, 95, 128, 168, 269, 274, 277, 282, 345, 364, 511, 546, 566, 616, 637, 641, 729, 735, 776, 790, 791, 815, 844, 867, 882, 895, 925, 378, 411, 415, 420, 425, 691, 696, 714] [INFO] [stdout] b all: {8, 22, 33, 94, 95, 128, 168, 208, 269, 274, 277, 282, 345, 356, 364, 378, 392, 411, 415, 420, 425, 443, 511, 546, 566, 616, 637, 641, 691, 696, 714, 729, 735, 776, 790, 791, 815, 844, 867, 882, 895, 909, 925} + [12, 26, 31, 50, 59, 60, 72, 74, 75, 124, 137, 140, 141, 142, 175, 192, 195, 202, 206, 207, 221, 231, 248, 266, 285, 286, 300, 318, 328, 329, 478, 495, 502, 509, 515, 538, 558, 564, 572, 596, 598, 601, 610, 622, 636, 639, 646, 665, 740, 748, 771, 775, 787, 795, 814, 837, 849, 858, 859, 863, 864, 876, 892, 896, 927, 953, 955, 966, 971, 996, 386, 405, 422, 694, 695] [INFO] [stdout] [INFO] [stdout] all vec: [8, 12, 22, 26, 31, 33, 50, 59, 60, 72, 74, 75, 94, 95, 124, 128, 137, 140, 141, 142, 168, 175, 192, 195, 202, 206, 207, 208, 221, 231, 248, 266, 269, 274, 277, 282, 285, 286, 300, 318, 328, 329, 345, 356, 364, 378, 386, 392, 405, 411, 415, 420, 422, 425, 443, 478, 495, 502, 509, 511, 515, 538, 546, 558, 564, 566, 572, 596, 598, 601, 610, 616, 622, 636, 637, 639, 641, 646, 665, 691, 694, 695, 696, 714, 729, 735, 740, 748, 771, 775, 776, 787, 790, 791, 795, 814, 815, 837, 844, 849, 858, 859, 863, 864, 867, 876, 882, 892, 895, 896, 909, 925, 927, 953, 955, 966, 971, 996] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 12, 22, 26, 31, 33, 50, 59, 60, 72, 74, 75, 94, 95, 124, 128, 137, 140, 141, 142, 168, 175, 192, 195, 202, 206, 207, 208, 221, 231, 248, 266, 269, 274, 277, 282, 285, 286, 300, 318, 328, 329, 345, 356, 364, 378, 386, 392, 405, 411, 415, 420, 422, 425, 443, 478, 495, 502, 509, 511, 515, 538, 546, 558, 564, 566, 572, 596, 598, 601, 610, 616, 622, 636, 637, 639, 641, 646, 665, 691, 694, 695, 696, 714, 729, 735, 740, 748, 771, 775, 776, 787, 790, 791, 795, 814, 815, 837, 844, 849, 858, 859, 863, 864, 867, 876, 882, 892, 895, 896, 909, 925, 927, 953, 955, 966, 971, 996], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 12, 22, 26, 31, 33, 50, 59, 60, 72, 74, 75, 94, 95, 124, 128, 137, 140, 141, 142, 168, 175, 192, 195, 202, 206, 207, 208, 221, 231, 248, 266, 269, 274, 277, 282, 285, 286, 300, 318, 328, 329, 345, 356, 364, 378, 386, 392, 405, 411, 415, 420, 422, 425, 443, 478, 495, 502, 509, 511, 515, 538, 546, 558, 564, 566, 572, 596, 598, 601, 610, 616, 622, 636, 637, 639, 641, 646, 665, 691, 694, 695, 696, 714, 729, 735, 740, 748, 771, 775, 776, 787, 790, 791, 795, 814, 815, 837, 844, 849, 858, 859, 863, 864, 867, 876, 882, 892, 895, 896, 909, 925, 927, 953, 955, 966, 971, 996], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {34, 42, 43, 60, 95, 132, 206, 211, 212, 214, 215, 246, 247, 285, 289, 311, 332, 388, 398, 453, 475, 490, 504, 506, 562, 635, 652, 664, 683, 692, 697, 704, 713, 715, 723, 742, 749, 766, 790, 839, 844, 861, 902, 910, 937, 967, 997, 998} [INFO] [stdout] b items: {12, 15, 26, 32, 49, 71, 95, 98, 109, 114, 124, 139, 159, 161, 183, 194, 200, 203, 206, 210, 212, 215, 276, 287, 364, 372, 380, 395, 401, 407, 409, 422, 444, 445, 461, 474, 475, 481, 485, 506, 508, 522, 538, 552, 587, 591, 594, 605, 608, 609, 626, 640, 642, 646, 647, 668, 675, 678, 689, 692, 698, 702, 703, 745, 754, 761, 763, 789, 798, 799, 806, 818, 820, 821, 855, 866, 869, 882, 888, 903, 911, 949, 954, 959} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(34, 999), fp: EncodedCountingMonoid(48, SumMonoid(25130)) }], item_sets: [ItemSet { range: Range(999, 34), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(34, 587), fp: EncodedCountingMonoid(40, SumMonoid(12346)) }, Fingerprint { range: Range(587, 999), fp: EncodedCountingMonoid(40, SumMonoid(30010)) }], item_sets: [ItemSet { range: Range(999, 34), items: [12, 15, 26, 32], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(34, 285), fp: EncodedCountingMonoid(13, SumMonoid(1957)) }, Fingerprint { range: Range(285, 587), fp: EncodedCountingMonoid(12, SumMonoid(4993)) }, Fingerprint { range: Range(587, 766), fp: EncodedCountingMonoid(12, SumMonoid(8369)) }, Fingerprint { range: Range(766, 999), fp: EncodedCountingMonoid(11, SumMonoid(9811)) }], item_sets: [], wants: [12, 15, 26, 32], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(34, 183), fp: EncodedCountingMonoid(10, SumMonoid(1119)) }, Fingerprint { range: Range(183, 285), fp: EncodedCountingMonoid(9, SumMonoid(1899)) }, Fingerprint { range: Range(285, 461), fp: EncodedCountingMonoid(11, SumMonoid(4326)) }, Fingerprint { range: Range(461, 587), fp: EncodedCountingMonoid(10, SumMonoid(5002)) }, Fingerprint { range: Range(587, 675), fp: EncodedCountingMonoid(12, SumMonoid(7463)) }, Fingerprint { range: Range(675, 766), fp: EncodedCountingMonoid(11, SumMonoid(7860)) }, Fingerprint { range: Range(766, 869), fp: EncodedCountingMonoid(9, SumMonoid(7372)) }, Fingerprint { range: Range(869, 999), fp: EncodedCountingMonoid(8, SumMonoid(7315)) }], item_sets: [], wants: [], provide: [(12, true), (15, true), (26, true), (32, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(34, 60), fp: EncodedCountingMonoid(3, SumMonoid(119)) }, Fingerprint { range: Range(60, 183), fp: EncodedCountingMonoid(3, SumMonoid(287)) }, Fingerprint { range: Range(183, 215), fp: EncodedCountingMonoid(4, SumMonoid(843)) }, Fingerprint { range: Range(215, 285), fp: EncodedCountingMonoid(3, SumMonoid(708)) }, Fingerprint { range: Range(285, 388), fp: EncodedCountingMonoid(4, SumMonoid(1217)) }, Fingerprint { range: Range(388, 461), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }, Fingerprint { range: Range(461, 506), fp: EncodedCountingMonoid(3, SumMonoid(1469)) }, Fingerprint { range: Range(675, 715), fp: EncodedCountingMonoid(5, SumMonoid(3489)) }, Fingerprint { range: Range(715, 766), fp: EncodedCountingMonoid(4, SumMonoid(2929)) }, Fingerprint { range: Range(766, 844), fp: EncodedCountingMonoid(3, SumMonoid(2395)) }, Fingerprint { range: Range(869, 967), fp: EncodedCountingMonoid(3, SumMonoid(2749)) }, Fingerprint { range: Range(967, 999), fp: EncodedCountingMonoid(3, SumMonoid(2962)) }], item_sets: [ItemSet { range: Range(506, 587), items: [506, 562], want_response: true }, ItemSet { range: Range(587, 664), items: [635, 652], want_response: true }, ItemSet { range: Range(664, 675), items: [664], want_response: true }, ItemSet { range: Range(844, 869), items: [844, 861], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(60, 124), fp: EncodedCountingMonoid(5, SumMonoid(487)) }, Fingerprint { range: Range(124, 183), fp: EncodedCountingMonoid(4, SumMonoid(583)) }, Fingerprint { range: Range(183, 206), fp: EncodedCountingMonoid(4, SumMonoid(780)) }, Fingerprint { range: Range(206, 215), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(388, 422), fp: EncodedCountingMonoid(4, SumMonoid(1612)) }, Fingerprint { range: Range(422, 461), fp: EncodedCountingMonoid(3, SumMonoid(1311)) }, Fingerprint { range: Range(461, 481), fp: EncodedCountingMonoid(3, SumMonoid(1410)) }, Fingerprint { range: Range(675, 698), fp: EncodedCountingMonoid(4, SumMonoid(2734)) }, Fingerprint { range: Range(698, 715), fp: EncodedCountingMonoid(3, SumMonoid(2103)) }, Fingerprint { range: Range(766, 818), fp: EncodedCountingMonoid(4, SumMonoid(3192)) }, Fingerprint { range: Range(818, 844), fp: EncodedCountingMonoid(3, SumMonoid(2459)) }, Fingerprint { range: Range(869, 911), fp: EncodedCountingMonoid(4, SumMonoid(3542)) }, Fingerprint { range: Range(911, 967), fp: EncodedCountingMonoid(4, SumMonoid(3773)) }], item_sets: [ItemSet { range: Range(506, 587), items: [506, 508, 522, 538, 552], want_response: false }, ItemSet { range: Range(587, 664), items: [587, 591, 594, 605, 608, 609, 626, 640, 642, 646, 647], want_response: false }, ItemSet { range: Range(664, 675), items: [668], want_response: false }, ItemSet { range: Range(844, 869), items: [855, 866], want_response: false }, ItemSet { range: Range(34, 60), items: [49], want_response: true }, ItemSet { range: Range(215, 285), items: [215, 276], want_response: true }, ItemSet { range: Range(285, 372), items: [287, 364], want_response: true }, ItemSet { range: Range(372, 388), items: [372, 380], want_response: true }, ItemSet { range: Range(481, 506), items: [481, 485], want_response: true }, ItemSet { range: Range(715, 761), items: [745, 754], want_response: true }, ItemSet { range: Range(761, 766), items: [761, 763], want_response: true }, ItemSet { range: Range(967, 999), items: [], want_response: true }], wants: [562, 635, 652, 664, 844, 861], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 60), items: [34, 42, 43], want_response: false }, ItemSet { range: Range(215, 285), items: [215, 246, 247], want_response: false }, ItemSet { range: Range(285, 372), items: [285, 289, 311, 332], want_response: false }, ItemSet { range: Range(372, 388), items: [], want_response: false }, ItemSet { range: Range(481, 506), items: [490, 504], want_response: false }, ItemSet { range: Range(715, 761), items: [715, 723, 742, 749], want_response: false }, ItemSet { range: Range(761, 766), items: [], want_response: false }, ItemSet { range: Range(967, 999), items: [967, 997, 998], want_response: false }, ItemSet { range: Range(60, 124), items: [60, 95], want_response: true }, ItemSet { range: Range(124, 183), items: [132], want_response: true }, ItemSet { range: Range(183, 206), items: [], want_response: true }, ItemSet { range: Range(206, 212), items: [206, 211], want_response: true }, ItemSet { range: Range(212, 215), items: [212, 214], want_response: true }, ItemSet { range: Range(388, 422), items: [388, 398], want_response: true }, ItemSet { range: Range(422, 461), items: [453], want_response: true }, ItemSet { range: Range(461, 481), items: [475], want_response: true }, ItemSet { range: Range(675, 697), items: [683, 692], want_response: true }, ItemSet { range: Range(697, 698), items: [697], want_response: true }, ItemSet { range: Range(698, 715), items: [704, 713], want_response: true }, ItemSet { range: Range(766, 818), items: [766, 790], want_response: true }, ItemSet { range: Range(818, 844), items: [839], want_response: true }, ItemSet { range: Range(869, 911), items: [902, 910], want_response: true }, ItemSet { range: Range(911, 967), items: [937], want_response: true }], wants: [508, 522, 538, 552, 587, 591, 594, 605, 608, 609, 626, 640, 642, 646, 647, 668, 855, 866, 49, 276, 287, 364, 372, 380, 481, 485, 745, 754, 761, 763], provide: [(562, true), (635, true), (652, true), (664, true), (844, true), (861, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(60, 124), items: [71, 95, 98, 109, 114], want_response: false }, ItemSet { range: Range(124, 183), items: [124, 139, 159, 161], want_response: false }, ItemSet { range: Range(183, 206), items: [183, 194, 200, 203], want_response: false }, ItemSet { range: Range(206, 212), items: [206, 210], want_response: false }, ItemSet { range: Range(212, 215), items: [212], want_response: false }, ItemSet { range: Range(388, 422), items: [395, 401, 407, 409], want_response: false }, ItemSet { range: Range(422, 461), items: [422, 444, 445], want_response: false }, ItemSet { range: Range(461, 481), items: [461, 474, 475], want_response: false }, ItemSet { range: Range(675, 697), items: [675, 678, 689, 692], want_response: false }, ItemSet { range: Range(697, 698), items: [], want_response: false }, ItemSet { range: Range(698, 715), items: [698, 702, 703], want_response: false }, ItemSet { range: Range(766, 818), items: [789, 798, 799, 806], want_response: false }, ItemSet { range: Range(818, 844), items: [818, 820, 821], want_response: false }, ItemSet { range: Range(869, 911), items: [869, 882, 888, 903], want_response: false }, ItemSet { range: Range(911, 967), items: [911, 949, 954, 959], want_response: false }], wants: [34, 42, 43, 246, 247, 285, 289, 311, 332, 490, 504, 715, 723, 742, 749, 967, 997, 998, 60, 132, 211, 214, 388, 398, 453, 683, 697, 704, 713, 766, 790, 839, 902, 910, 937], provide: [(508, true), (522, true), (538, true), (552, true), (587, true), (591, true), (594, true), (605, true), (608, true), (609, true), (626, true), (640, true), (642, true), (646, true), (647, true), (668, true), (855, true), (866, true), (49, true), (276, true), (287, true), (364, true), (372, true), (380, true), (481, true), (485, true), (745, true), (754, true), (761, true), (763, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [71, 98, 109, 114, 124, 139, 159, 161, 183, 194, 200, 203, 210, 395, 401, 407, 409, 422, 444, 445, 461, 474, 675, 678, 689, 698, 702, 703, 789, 798, 799, 806, 818, 820, 821, 869, 882, 888, 903, 911, 949, 954, 959], provide: [(34, true), (42, true), (43, true), (246, true), (247, true), (285, true), (289, true), (311, true), (332, true), (490, true), (504, true), (715, true), (723, true), (742, true), (749, true), (967, true), (997, true), (998, true), (60, true), (132, true), (211, true), (214, true), (388, true), (398, true), (453, true), (683, true), (697, true), (704, true), (713, true), (766, true), (790, true), (839, true), (902, true), (910, true), (937, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(71, true), (98, true), (109, true), (114, true), (124, true), (139, true), (159, true), (161, true), (183, true), (194, true), (200, true), (203, true), (210, true), (395, true), (401, true), (407, true), (409, true), (422, true), (444, true), (445, true), (461, true), (474, true), (675, true), (678, true), (689, true), (698, true), (702, true), (703, true), (789, true), (798, true), (799, true), (806, true), (818, true), (820, true), (821, true), (869, true), (882, true), (888, true), (903, true), (911, true), (949, true), (954, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {34, 42, 43, 60, 95, 132, 206, 211, 212, 214, 215, 246, 247, 285, 289, 311, 332, 388, 398, 453, 475, 490, 504, 506, 562, 635, 652, 664, 683, 692, 697, 704, 713, 715, 723, 742, 749, 766, 790, 839, 844, 861, 902, 910, 937, 967, 997, 998} + [12, 15, 26, 32, 508, 522, 538, 552, 587, 591, 594, 605, 608, 609, 626, 640, 642, 646, 647, 668, 855, 866, 49, 276, 287, 364, 372, 380, 481, 485, 745, 754, 761, 763, 71, 98, 109, 114, 124, 139, 159, 161, 183, 194, 200, 203, 210, 395, 401, 407, 409, 422, 444, 445, 461, 474, 675, 678, 689, 698, 702, 703, 789, 798, 799, 806, 818, 820, 821, 869, 882, 888, 903, 911, 949, 954, 959] [INFO] [stdout] b all: {12, 15, 26, 32, 49, 71, 95, 98, 109, 114, 124, 139, 159, 161, 183, 194, 200, 203, 206, 210, 212, 215, 276, 287, 364, 372, 380, 395, 401, 407, 409, 422, 444, 445, 461, 474, 475, 481, 485, 506, 508, 522, 538, 552, 587, 591, 594, 605, 608, 609, 626, 640, 642, 646, 647, 668, 675, 678, 689, 692, 698, 702, 703, 745, 754, 761, 763, 789, 798, 799, 806, 818, 820, 821, 855, 866, 869, 882, 888, 903, 911, 949, 954, 959} + [562, 635, 652, 664, 844, 861, 34, 42, 43, 246, 247, 285, 289, 311, 332, 490, 504, 715, 723, 742, 749, 967, 997, 998, 60, 132, 211, 214, 388, 398, 453, 683, 697, 704, 713, 766, 790, 839, 902, 910, 937] [INFO] [stdout] [INFO] [stdout] all vec: [12, 15, 26, 32, 34, 42, 43, 49, 60, 71, 95, 98, 109, 114, 124, 132, 139, 159, 161, 183, 194, 200, 203, 206, 210, 211, 212, 214, 215, 246, 247, 276, 285, 287, 289, 311, 332, 364, 372, 380, 388, 395, 398, 401, 407, 409, 422, 444, 445, 453, 461, 474, 475, 481, 485, 490, 504, 506, 508, 522, 538, 552, 562, 587, 591, 594, 605, 608, 609, 626, 635, 640, 642, 646, 647, 652, 664, 668, 675, 678, 683, 689, 692, 697, 698, 702, 703, 704, 713, 715, 723, 742, 745, 749, 754, 761, 763, 766, 789, 790, 798, 799, 806, 818, 820, 821, 839, 844, 855, 861, 866, 869, 882, 888, 902, 903, 910, 911, 937, 949, 954, 959, 967, 997, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [12, 15, 26, 32, 34, 42, 43, 49, 60, 71, 95, 98, 109, 114, 124, 132, 139, 159, 161, 183, 194, 200, 203, 206, 210, 211, 212, 214, 215, 246, 247, 276, 285, 287, 289, 311, 332, 364, 372, 380, 388, 395, 398, 401, 407, 409, 422, 444, 445, 453, 461, 474, 475, 481, 485, 490, 504, 506, 508, 522, 538, 552, 562, 587, 591, 594, 605, 608, 609, 626, 635, 640, 642, 646, 647, 652, 664, 668, 675, 678, 683, 689, 692, 697, 698, 702, 703, 704, 713, 715, 723, 742, 745, 749, 754, 761, 763, 766, 789, 790, 798, 799, 806, 818, 820, 821, 839, 844, 855, 861, 866, 869, 882, 888, 902, 903, 910, 911, 937, 949, 954, 959, 967, 997, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [12, 15, 26, 32, 34, 42, 43, 49, 60, 71, 95, 98, 109, 114, 124, 132, 139, 159, 161, 183, 194, 200, 203, 206, 210, 211, 212, 214, 215, 246, 247, 276, 285, 287, 289, 311, 332, 364, 372, 380, 388, 395, 398, 401, 407, 409, 422, 444, 445, 453, 461, 474, 475, 481, 485, 490, 504, 506, 508, 522, 538, 552, 562, 587, 591, 594, 605, 608, 609, 626, 635, 640, 642, 646, 647, 652, 664, 668, 675, 678, 683, 689, 692, 697, 698, 702, 703, 704, 713, 715, 723, 742, 745, 749, 754, 761, 763, 766, 789, 790, 798, 799, 806, 818, 820, 821, 839, 844, 855, 861, 866, 869, 882, 888, 902, 903, 910, 911, 937, 949, 954, 959, 967, 997, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 16, 20, 55, 65, 67, 78, 88, 105, 108, 120, 151, 158, 160, 161, 169, 204, 211, 229, 230, 236, 249, 251, 268, 278, 298, 331, 337, 340, 355, 360, 368, 373, 399, 404, 418, 424, 434, 435, 473, 501, 503, 506, 516, 525, 529, 543, 562, 602, 607, 609, 628, 638, 646, 684, 715, 723, 728, 732, 741, 747, 749, 766, 786, 807, 818, 819, 822, 835, 841, 843, 846, 867, 889, 893, 906, 919, 930, 957, 974, 975, 981, 982, 996} [INFO] [stdout] b items: {30, 40, 42, 52, 78, 104, 134, 157, 192, 205, 206, 214, 223, 239, 241, 268, 300, 306, 342, 343, 391, 399, 420, 422, 469, 518, 548, 560, 620, 621, 636, 674, 703, 706, 726, 741, 790, 821, 837, 864, 891, 899, 929, 931, 939, 940, 944, 945, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 997), fp: EncodedCountingMonoid(84, SumMonoid(42615)) }], item_sets: [ItemSet { range: Range(997, 3), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 469), fp: EncodedCountingMonoid(24, SumMonoid(5348)) }, Fingerprint { range: Range(469, 997), fp: EncodedCountingMonoid(24, SumMonoid(18252)) }], item_sets: [ItemSet { range: Range(997, 3), items: [998], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 236), fp: EncodedCountingMonoid(20, SumMonoid(2398)) }, Fingerprint { range: Range(236, 469), fp: EncodedCountingMonoid(19, SumMonoid(6558)) }, Fingerprint { range: Range(469, 766), fp: EncodedCountingMonoid(23, SumMonoid(14207)) }, Fingerprint { range: Range(766, 997), fp: EncodedCountingMonoid(22, SumMonoid(19452)) }], item_sets: [], wants: [998], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 157), fp: EncodedCountingMonoid(7, SumMonoid(480)) }, Fingerprint { range: Range(157, 236), fp: EncodedCountingMonoid(6, SumMonoid(1197)) }, Fingerprint { range: Range(236, 343), fp: EncodedCountingMonoid(6, SumMonoid(1696)) }, Fingerprint { range: Range(343, 469), fp: EncodedCountingMonoid(5, SumMonoid(1975)) }, Fingerprint { range: Range(469, 636), fp: EncodedCountingMonoid(6, SumMonoid(3336)) }, Fingerprint { range: Range(636, 766), fp: EncodedCountingMonoid(6, SumMonoid(4186)) }, Fingerprint { range: Range(766, 929), fp: EncodedCountingMonoid(6, SumMonoid(5102)) }, Fingerprint { range: Range(929, 997), fp: EncodedCountingMonoid(6, SumMonoid(5628)) }], item_sets: [], wants: [], provide: [(998, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 78), fp: EncodedCountingMonoid(6, SumMonoid(226)) }, Fingerprint { range: Range(78, 157), fp: EncodedCountingMonoid(6, SumMonoid(650)) }, Fingerprint { range: Range(157, 204), fp: EncodedCountingMonoid(4, SumMonoid(648)) }, Fingerprint { range: Range(204, 236), fp: EncodedCountingMonoid(4, SumMonoid(874)) }, Fingerprint { range: Range(236, 298), fp: EncodedCountingMonoid(5, SumMonoid(1282)) }, Fingerprint { range: Range(298, 343), fp: EncodedCountingMonoid(4, SumMonoid(1306)) }, Fingerprint { range: Range(343, 404), fp: EncodedCountingMonoid(5, SumMonoid(1855)) }, Fingerprint { range: Range(404, 469), fp: EncodedCountingMonoid(5, SumMonoid(2115)) }, Fingerprint { range: Range(469, 543), fp: EncodedCountingMonoid(7, SumMonoid(3553)) }, Fingerprint { range: Range(543, 636), fp: EncodedCountingMonoid(6, SumMonoid(3551)) }, Fingerprint { range: Range(636, 728), fp: EncodedCountingMonoid(5, SumMonoid(3406)) }, Fingerprint { range: Range(728, 766), fp: EncodedCountingMonoid(5, SumMonoid(3697)) }, Fingerprint { range: Range(766, 843), fp: EncodedCountingMonoid(8, SumMonoid(6494)) }, Fingerprint { range: Range(843, 929), fp: EncodedCountingMonoid(7, SumMonoid(6163)) }, Fingerprint { range: Range(929, 981), fp: EncodedCountingMonoid(4, SumMonoid(3836)) }, Fingerprint { range: Range(981, 997), fp: EncodedCountingMonoid(3, SumMonoid(2959)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(636, 706), fp: EncodedCountingMonoid(3, SumMonoid(2013)) }, Fingerprint { range: Range(929, 940), fp: EncodedCountingMonoid(3, SumMonoid(2799)) }, Fingerprint { range: Range(940, 981), fp: EncodedCountingMonoid(3, SumMonoid(2829)) }], item_sets: [ItemSet { range: Range(3, 42), items: [30, 40], want_response: true }, ItemSet { range: Range(42, 78), items: [42, 52], want_response: true }, ItemSet { range: Range(78, 134), items: [78, 104], want_response: true }, ItemSet { range: Range(134, 157), items: [134], want_response: true }, ItemSet { range: Range(157, 204), items: [157, 192], want_response: true }, ItemSet { range: Range(204, 214), items: [205, 206], want_response: true }, ItemSet { range: Range(214, 236), items: [214, 223], want_response: true }, ItemSet { range: Range(236, 268), items: [239, 241], want_response: true }, ItemSet { range: Range(268, 298), items: [268], want_response: true }, ItemSet { range: Range(298, 342), items: [300, 306], want_response: true }, ItemSet { range: Range(342, 343), items: [342], want_response: true }, ItemSet { range: Range(343, 399), items: [343, 391], want_response: true }, ItemSet { range: Range(399, 404), items: [399], want_response: true }, ItemSet { range: Range(404, 469), items: [420, 422], want_response: true }, ItemSet { range: Range(469, 543), items: [469, 518], want_response: true }, ItemSet { range: Range(543, 620), items: [548, 560], want_response: true }, ItemSet { range: Range(620, 636), items: [620, 621], want_response: true }, ItemSet { range: Range(706, 728), items: [706, 726], want_response: true }, ItemSet { range: Range(728, 766), items: [741], want_response: true }, ItemSet { range: Range(766, 837), items: [790, 821], want_response: true }, ItemSet { range: Range(837, 843), items: [837], want_response: true }, ItemSet { range: Range(843, 899), items: [864, 891], want_response: true }, ItemSet { range: Range(899, 929), items: [899], want_response: true }, ItemSet { range: Range(981, 997), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 42), items: [3, 16, 20], want_response: false }, ItemSet { range: Range(42, 78), items: [55, 65, 67], want_response: false }, ItemSet { range: Range(78, 134), items: [78, 88, 105, 108, 120], want_response: false }, ItemSet { range: Range(134, 157), items: [151], want_response: false }, ItemSet { range: Range(157, 204), items: [158, 160, 161, 169], want_response: false }, ItemSet { range: Range(204, 214), items: [204, 211], want_response: false }, ItemSet { range: Range(214, 236), items: [229, 230], want_response: false }, ItemSet { range: Range(236, 268), items: [236, 249, 251], want_response: false }, ItemSet { range: Range(268, 298), items: [268, 278], want_response: false }, ItemSet { range: Range(298, 342), items: [298, 331, 337, 340], want_response: false }, ItemSet { range: Range(342, 343), items: [], want_response: false }, ItemSet { range: Range(343, 399), items: [355, 360, 368, 373], want_response: false }, ItemSet { range: Range(399, 404), items: [399], want_response: false }, ItemSet { range: Range(404, 469), items: [404, 418, 424, 434, 435], want_response: false }, ItemSet { range: Range(469, 543), items: [473, 501, 503, 506, 516, 525, 529], want_response: false }, ItemSet { range: Range(543, 620), items: [543, 562, 602, 607, 609], want_response: false }, ItemSet { range: Range(620, 636), items: [628], want_response: false }, ItemSet { range: Range(706, 728), items: [715, 723], want_response: false }, ItemSet { range: Range(728, 766), items: [728, 732, 741, 747, 749], want_response: false }, ItemSet { range: Range(766, 837), items: [766, 786, 807, 818, 819, 822, 835], want_response: false }, ItemSet { range: Range(837, 843), items: [841], want_response: false }, ItemSet { range: Range(843, 899), items: [843, 846, 867, 889, 893], want_response: false }, ItemSet { range: Range(899, 929), items: [906, 919], want_response: false }, ItemSet { range: Range(981, 997), items: [981, 982, 996], want_response: false }, ItemSet { range: Range(636, 684), items: [638, 646], want_response: true }, ItemSet { range: Range(684, 706), items: [684], want_response: true }, ItemSet { range: Range(929, 940), items: [930], want_response: true }, ItemSet { range: Range(940, 975), items: [957, 974], want_response: true }, ItemSet { range: Range(975, 981), items: [975], want_response: true }], wants: [30, 40, 42, 52, 104, 134, 157, 192, 205, 206, 214, 223, 239, 241, 300, 306, 342, 343, 391, 420, 422, 469, 518, 548, 560, 620, 621, 706, 726, 790, 821, 837, 864, 891, 899], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(636, 684), items: [636, 674], want_response: false }, ItemSet { range: Range(684, 706), items: [703], want_response: false }, ItemSet { range: Range(929, 940), items: [929, 931, 939], want_response: false }, ItemSet { range: Range(940, 975), items: [940, 944, 945], want_response: false }, ItemSet { range: Range(975, 981), items: [], want_response: false }], wants: [3, 16, 20, 55, 65, 67, 88, 105, 108, 120, 151, 158, 160, 161, 169, 204, 211, 229, 230, 236, 249, 251, 278, 298, 331, 337, 340, 355, 360, 368, 373, 404, 418, 424, 434, 435, 473, 501, 503, 506, 516, 525, 529, 543, 562, 602, 607, 609, 628, 715, 723, 728, 732, 747, 749, 766, 786, 807, 818, 819, 822, 835, 841, 843, 846, 867, 889, 893, 906, 919, 981, 982, 996, 638, 646, 684, 930, 957, 974, 975], provide: [(30, true), (40, true), (42, true), (52, true), (104, true), (134, true), (157, true), (192, true), (205, true), (206, true), (214, true), (223, true), (239, true), (241, true), (300, true), (306, true), (342, true), (343, true), (391, true), (420, true), (422, true), (469, true), (518, true), (548, true), (560, true), (620, true), (621, true), (706, true), (726, true), (790, true), (821, true), (837, true), (864, true), (891, true), (899, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [636, 674, 703, 929, 931, 939, 940, 944, 945], provide: [(3, true), (16, true), (20, true), (55, true), (65, true), (67, true), (88, true), (105, true), (108, true), (120, true), (151, true), (158, true), (160, true), (161, true), (169, true), (204, true), (211, true), (229, true), (230, true), (236, true), (249, true), (251, true), (278, true), (298, true), (331, true), (337, true), (340, true), (355, true), (360, true), (368, true), (373, true), (404, true), (418, true), (424, true), (434, true), (435, true), (473, true), (501, true), (503, true), (506, true), (516, true), (525, true), (529, true), (543, true), (562, true), (602, true), (607, true), (609, true), (628, true), (715, true), (723, true), (728, true), (732, true), (747, true), (749, true), (766, true), (786, true), (807, true), (818, true), (819, true), (822, true), (835, true), (841, true), (843, true), (846, true), (867, true), (889, true), (893, true), (906, true), (919, true), (981, true), (982, true), (996, true), (638, true), (646, true), (684, true), (930, true), (957, true), (974, true), (975, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(636, true), (674, true), (703, true), (929, true), (931, true), (939, true), (940, true), (944, true), (945, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 16, 20, 55, 65, 67, 78, 88, 105, 108, 120, 151, 158, 160, 161, 169, 204, 211, 229, 230, 236, 249, 251, 268, 278, 298, 331, 337, 340, 355, 360, 368, 373, 399, 404, 418, 424, 434, 435, 473, 501, 503, 506, 516, 525, 529, 543, 562, 602, 607, 609, 628, 638, 646, 684, 715, 723, 728, 732, 741, 747, 749, 766, 786, 807, 818, 819, 822, 835, 841, 843, 846, 867, 889, 893, 906, 919, 930, 957, 974, 975, 981, 982, 996} + [998, 30, 40, 42, 52, 104, 134, 157, 192, 205, 206, 214, 223, 239, 241, 300, 306, 342, 343, 391, 420, 422, 469, 518, 548, 560, 620, 621, 706, 726, 790, 821, 837, 864, 891, 899, 636, 674, 703, 929, 931, 939, 940, 944, 945] [INFO] [stdout] b all: {30, 40, 42, 52, 78, 104, 134, 157, 192, 205, 206, 214, 223, 239, 241, 268, 300, 306, 342, 343, 391, 399, 420, 422, 469, 518, 548, 560, 620, 621, 636, 674, 703, 706, 726, 741, 790, 821, 837, 864, 891, 899, 929, 931, 939, 940, 944, 945, 998} + [3, 16, 20, 55, 65, 67, 88, 105, 108, 120, 151, 158, 160, 161, 169, 204, 211, 229, 230, 236, 249, 251, 278, 298, 331, 337, 340, 355, 360, 368, 373, 404, 418, 424, 434, 435, 473, 501, 503, 506, 516, 525, 529, 543, 562, 602, 607, 609, 628, 715, 723, 728, 732, 747, 749, 766, 786, 807, 818, 819, 822, 835, 841, 843, 846, 867, 889, 893, 906, 919, 981, 982, 996, 638, 646, 684, 930, 957, 974, 975] [INFO] [stdout] [INFO] [stdout] all vec: [3, 16, 20, 30, 40, 42, 52, 55, 65, 67, 78, 88, 104, 105, 108, 120, 134, 151, 157, 158, 160, 161, 169, 192, 204, 205, 206, 211, 214, 223, 229, 230, 236, 239, 241, 249, 251, 268, 278, 298, 300, 306, 331, 337, 340, 342, 343, 355, 360, 368, 373, 391, 399, 404, 418, 420, 422, 424, 434, 435, 469, 473, 501, 503, 506, 516, 518, 525, 529, 543, 548, 560, 562, 602, 607, 609, 620, 621, 628, 636, 638, 646, 674, 684, 703, 706, 715, 723, 726, 728, 732, 741, 747, 749, 766, 786, 790, 807, 818, 819, 821, 822, 835, 837, 841, 843, 846, 864, 867, 889, 891, 893, 899, 906, 919, 929, 930, 931, 939, 940, 944, 945, 957, 974, 975, 981, 982, 996, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 16, 20, 30, 40, 42, 52, 55, 65, 67, 78, 88, 104, 105, 108, 120, 134, 151, 157, 158, 160, 161, 169, 192, 204, 205, 206, 211, 214, 223, 229, 230, 236, 239, 241, 249, 251, 268, 278, 298, 300, 306, 331, 337, 340, 342, 343, 355, 360, 368, 373, 391, 399, 404, 418, 420, 422, 424, 434, 435, 469, 473, 501, 503, 506, 516, 518, 525, 529, 543, 548, 560, 562, 602, 607, 609, 620, 621, 628, 636, 638, 646, 674, 684, 703, 706, 715, 723, 726, 728, 732, 741, 747, 749, 766, 786, 790, 807, 818, 819, 821, 822, 835, 837, 841, 843, 846, 864, 867, 889, 891, 893, 899, 906, 919, 929, 930, 931, 939, 940, 944, 945, 957, 974, 975, 981, 982, 996, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 16, 20, 30, 40, 42, 52, 55, 65, 67, 78, 88, 104, 105, 108, 120, 134, 151, 157, 158, 160, 161, 169, 192, 204, 205, 206, 211, 214, 223, 229, 230, 236, 239, 241, 249, 251, 268, 278, 298, 300, 306, 331, 337, 340, 342, 343, 355, 360, 368, 373, 391, 399, 404, 418, 420, 422, 424, 434, 435, 469, 473, 501, 503, 506, 516, 518, 525, 529, 543, 548, 560, 562, 602, 607, 609, 620, 621, 628, 636, 638, 646, 674, 684, 703, 706, 715, 723, 726, 728, 732, 741, 747, 749, 766, 786, 790, 807, 818, 819, 821, 822, 835, 837, 841, 843, 846, 864, 867, 889, 891, 893, 899, 906, 919, 929, 930, 931, 939, 940, 944, 945, 957, 974, 975, 981, 982, 996, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {60, 286} [INFO] [stdout] b items: {200, 239, 250, 502, 664, 667, 765, 900} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(60, 287), fp: EncodedCountingMonoid(2, SumMonoid(346)) }], item_sets: [ItemSet { range: Range(287, 60), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(287, 60), items: [502, 664, 667, 765, 900], want_response: false }, ItemSet { range: Range(60, 250), items: [200, 239], want_response: true }, ItemSet { range: Range(250, 287), items: [250], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(60, 250), items: [60], want_response: false }, ItemSet { range: Range(250, 287), items: [286], want_response: false }], wants: [502, 664, 667, 765, 900, 200, 239, 250], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [60, 286], provide: [(502, true), (664, true), (667, true), (765, true), (900, true), (200, true), (239, true), (250, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(60, true), (286, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {60, 286} + [502, 664, 667, 765, 900, 200, 239, 250] [INFO] [stdout] b all: {200, 239, 250, 502, 664, 667, 765, 900} + [60, 286] [INFO] [stdout] [INFO] [stdout] all vec: [60, 200, 239, 250, 286, 502, 664, 667, 765, 900] [INFO] [stdout] [INFO] [stdout] a all vec: [60, 200, 239, 250, 286, 502, 664, 667, 765, 900], true true [INFO] [stdout] [INFO] [stdout] b all vec: [60, 200, 239, 250, 286, 502, 664, 667, 765, 900], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {23, 31, 48, 58, 63, 80, 82, 83, 96, 112, 118, 121, 162, 167, 176, 181, 200, 201, 211, 240, 243, 253, 262, 267, 268, 286, 287, 288, 292, 305, 307, 329, 344, 384, 395, 403, 434, 449, 454, 462, 465, 467, 492, 530, 535, 564, 571, 579, 597, 603, 608, 611, 626, 628, 632, 641, 657, 662, 689, 690, 691, 698, 707, 711, 714, 717, 737, 741, 744, 748, 769, 783, 789, 799, 802, 805, 821, 828, 851, 858, 865, 879, 885, 910, 941, 976} [INFO] [stdout] b items: {14, 35, 45, 52, 86, 109, 156, 227, 239, 262, 286, 290, 315, 320, 328, 362, 388, 401, 446, 471, 486, 489, 501, 536, 555, 557, 571, 576, 585, 606, 610, 626, 654, 701, 706, 746, 748, 802, 869, 879, 909, 935, 946, 988, 995, 996} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(23, 977), fp: EncodedCountingMonoid(86, SumMonoid(41781)) }], item_sets: [ItemSet { range: Range(977, 23), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(23, 501), fp: EncodedCountingMonoid(21, SumMonoid(5793)) }, Fingerprint { range: Range(501, 977), fp: EncodedCountingMonoid(21, SumMonoid(14618)) }], item_sets: [ItemSet { range: Range(977, 23), items: [988, 995, 996, 14], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(23, 262), fp: EncodedCountingMonoid(22, SumMonoid(2949)) }, Fingerprint { range: Range(262, 501), fp: EncodedCountingMonoid(21, SumMonoid(7640)) }, Fingerprint { range: Range(501, 717), fp: EncodedCountingMonoid(22, SumMonoid(13944)) }, Fingerprint { range: Range(717, 977), fp: EncodedCountingMonoid(21, SumMonoid(17248)) }], item_sets: [], wants: [988, 995, 996, 14], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(23, 109), fp: EncodedCountingMonoid(4, SumMonoid(218)) }, Fingerprint { range: Range(109, 262), fp: EncodedCountingMonoid(4, SumMonoid(731)) }, Fingerprint { range: Range(262, 388), fp: EncodedCountingMonoid(7, SumMonoid(2163)) }, Fingerprint { range: Range(388, 501), fp: EncodedCountingMonoid(6, SumMonoid(2681)) }, Fingerprint { range: Range(501, 606), fp: EncodedCountingMonoid(7, SumMonoid(3881)) }, Fingerprint { range: Range(606, 717), fp: EncodedCountingMonoid(6, SumMonoid(3903)) }, Fingerprint { range: Range(717, 879), fp: EncodedCountingMonoid(4, SumMonoid(3165)) }, Fingerprint { range: Range(879, 977), fp: EncodedCountingMonoid(4, SumMonoid(3669)) }], item_sets: [], wants: [], provide: [(988, true), (995, true), (996, true), (14, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(23, 80), fp: EncodedCountingMonoid(5, SumMonoid(223)) }, Fingerprint { range: Range(80, 109), fp: EncodedCountingMonoid(4, SumMonoid(341)) }, Fingerprint { range: Range(109, 200), fp: EncodedCountingMonoid(7, SumMonoid(1037)) }, Fingerprint { range: Range(200, 262), fp: EncodedCountingMonoid(6, SumMonoid(1348)) }, Fingerprint { range: Range(262, 292), fp: EncodedCountingMonoid(6, SumMonoid(1658)) }, Fingerprint { range: Range(292, 388), fp: EncodedCountingMonoid(6, SumMonoid(1961)) }, Fingerprint { range: Range(388, 462), fp: EncodedCountingMonoid(5, SumMonoid(2135)) }, Fingerprint { range: Range(462, 501), fp: EncodedCountingMonoid(4, SumMonoid(1886)) }, Fingerprint { range: Range(501, 579), fp: EncodedCountingMonoid(4, SumMonoid(2200)) }, Fingerprint { range: Range(579, 606), fp: EncodedCountingMonoid(3, SumMonoid(1779)) }, Fingerprint { range: Range(606, 689), fp: EncodedCountingMonoid(8, SumMonoid(5065)) }, Fingerprint { range: Range(689, 717), fp: EncodedCountingMonoid(7, SumMonoid(4900)) }, Fingerprint { range: Range(717, 799), fp: EncodedCountingMonoid(8, SumMonoid(6028)) }, Fingerprint { range: Range(799, 879), fp: EncodedCountingMonoid(8, SumMonoid(6629)) }, Fingerprint { range: Range(879, 941), fp: EncodedCountingMonoid(3, SumMonoid(2674)) }], item_sets: [ItemSet { range: Range(941, 977), items: [941, 976], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(501, 557), fp: EncodedCountingMonoid(3, SumMonoid(1592)) }, Fingerprint { range: Range(557, 579), fp: EncodedCountingMonoid(3, SumMonoid(1704)) }], item_sets: [ItemSet { range: Range(941, 977), items: [946], want_response: false }, ItemSet { range: Range(23, 52), items: [35, 45], want_response: true }, ItemSet { range: Range(52, 80), items: [52], want_response: true }, ItemSet { range: Range(80, 109), items: [86], want_response: true }, ItemSet { range: Range(109, 200), items: [109, 156], want_response: true }, ItemSet { range: Range(200, 262), items: [227, 239], want_response: true }, ItemSet { range: Range(262, 290), items: [262, 286], want_response: true }, ItemSet { range: Range(290, 292), items: [290], want_response: true }, ItemSet { range: Range(292, 328), items: [315, 320], want_response: true }, ItemSet { range: Range(328, 388), items: [328, 362], want_response: true }, ItemSet { range: Range(388, 446), items: [388, 401], want_response: true }, ItemSet { range: Range(446, 462), items: [446], want_response: true }, ItemSet { range: Range(462, 489), items: [471, 486], want_response: true }, ItemSet { range: Range(489, 501), items: [489], want_response: true }, ItemSet { range: Range(579, 606), items: [585], want_response: true }, ItemSet { range: Range(606, 626), items: [606, 610], want_response: true }, ItemSet { range: Range(626, 689), items: [626, 654], want_response: true }, ItemSet { range: Range(689, 717), items: [701, 706], want_response: true }, ItemSet { range: Range(717, 799), items: [746, 748], want_response: true }, ItemSet { range: Range(799, 879), items: [802, 869], want_response: true }, ItemSet { range: Range(879, 935), items: [879, 909], want_response: true }, ItemSet { range: Range(935, 941), items: [935], want_response: true }], wants: [941, 976], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(23, 52), items: [23, 31, 48], want_response: false }, ItemSet { range: Range(52, 80), items: [58, 63], want_response: false }, ItemSet { range: Range(80, 109), items: [80, 82, 83, 96], want_response: false }, ItemSet { range: Range(109, 200), items: [112, 118, 121, 162, 167, 176, 181], want_response: false }, ItemSet { range: Range(200, 262), items: [200, 201, 211, 240, 243, 253], want_response: false }, ItemSet { range: Range(262, 290), items: [262, 267, 268, 286, 287, 288], want_response: false }, ItemSet { range: Range(290, 292), items: [], want_response: false }, ItemSet { range: Range(292, 328), items: [292, 305, 307], want_response: false }, ItemSet { range: Range(328, 388), items: [329, 344, 384], want_response: false }, ItemSet { range: Range(388, 446), items: [395, 403, 434], want_response: false }, ItemSet { range: Range(446, 462), items: [449, 454], want_response: false }, ItemSet { range: Range(462, 489), items: [462, 465, 467], want_response: false }, ItemSet { range: Range(489, 501), items: [492], want_response: false }, ItemSet { range: Range(579, 606), items: [579, 597, 603], want_response: false }, ItemSet { range: Range(606, 626), items: [608, 611], want_response: false }, ItemSet { range: Range(626, 689), items: [626, 628, 632, 641, 657, 662], want_response: false }, ItemSet { range: Range(689, 717), items: [689, 690, 691, 698, 707, 711, 714], want_response: false }, ItemSet { range: Range(717, 799), items: [717, 737, 741, 744, 748, 769, 783, 789], want_response: false }, ItemSet { range: Range(799, 879), items: [799, 802, 805, 821, 828, 851, 858, 865], want_response: false }, ItemSet { range: Range(879, 935), items: [879, 885, 910], want_response: false }, ItemSet { range: Range(935, 941), items: [], want_response: false }, ItemSet { range: Range(501, 557), items: [530, 535], want_response: true }, ItemSet { range: Range(557, 579), items: [564, 571], want_response: true }], wants: [946, 35, 45, 52, 86, 109, 156, 227, 239, 290, 315, 320, 328, 362, 388, 401, 446, 471, 486, 489, 585, 606, 610, 654, 701, 706, 746, 869, 909, 935], provide: [(941, true), (976, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(501, 557), items: [501, 536, 555], want_response: false }, ItemSet { range: Range(557, 579), items: [557, 571, 576], want_response: false }], wants: [23, 31, 48, 58, 63, 80, 82, 83, 96, 112, 118, 121, 162, 167, 176, 181, 200, 201, 211, 240, 243, 253, 267, 268, 287, 288, 292, 305, 307, 329, 344, 384, 395, 403, 434, 449, 454, 462, 465, 467, 492, 579, 597, 603, 608, 611, 628, 632, 641, 657, 662, 689, 690, 691, 698, 707, 711, 714, 717, 737, 741, 744, 769, 783, 789, 799, 805, 821, 828, 851, 858, 865, 885, 910, 530, 535, 564], provide: [(946, true), (35, true), (45, true), (52, true), (86, true), (109, true), (156, true), (227, true), (239, true), (290, true), (315, true), (320, true), (328, true), (362, true), (388, true), (401, true), (446, true), (471, true), (486, true), (489, true), (585, true), (606, true), (610, true), (654, true), (701, true), (706, true), (746, true), (869, true), (909, true), (935, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [501, 536, 555, 557, 576], provide: [(23, true), (31, true), (48, true), (58, true), (63, true), (80, true), (82, true), (83, true), (96, true), (112, true), (118, true), (121, true), (162, true), (167, true), (176, true), (181, true), (200, true), (201, true), (211, true), (240, true), (243, true), (253, true), (267, true), (268, true), (287, true), (288, true), (292, true), (305, true), (307, true), (329, true), (344, true), (384, true), (395, true), (403, true), (434, true), (449, true), (454, true), (462, true), (465, true), (467, true), (492, true), (579, true), (597, true), (603, true), (608, true), (611, true), (628, true), (632, true), (641, true), (657, true), (662, true), (689, true), (690, true), (691, true), (698, true), (707, true), (711, true), (714, true), (717, true), (737, true), (741, true), (744, true), (769, true), (783, true), (789, true), (799, true), (805, true), (821, true), (828, true), (851, true), (858, true), (865, true), (885, true), (910, true), (530, true), (535, true), (564, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(501, true), (536, true), (555, true), (557, true), (576, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {23, 31, 48, 58, 63, 80, 82, 83, 96, 112, 118, 121, 162, 167, 176, 181, 200, 201, 211, 240, 243, 253, 262, 267, 268, 286, 287, 288, 292, 305, 307, 329, 344, 384, 395, 403, 434, 449, 454, 462, 465, 467, 492, 530, 535, 564, 571, 579, 597, 603, 608, 611, 626, 628, 632, 641, 657, 662, 689, 690, 691, 698, 707, 711, 714, 717, 737, 741, 744, 748, 769, 783, 789, 799, 802, 805, 821, 828, 851, 858, 865, 879, 885, 910, 941, 976} + [988, 995, 996, 14, 946, 35, 45, 52, 86, 109, 156, 227, 239, 290, 315, 320, 328, 362, 388, 401, 446, 471, 486, 489, 585, 606, 610, 654, 701, 706, 746, 869, 909, 935, 501, 536, 555, 557, 576] [INFO] [stdout] b all: {14, 35, 45, 52, 86, 109, 156, 227, 239, 262, 286, 290, 315, 320, 328, 362, 388, 401, 446, 471, 486, 489, 501, 536, 555, 557, 571, 576, 585, 606, 610, 626, 654, 701, 706, 746, 748, 802, 869, 879, 909, 935, 946, 988, 995, 996} + [941, 976, 23, 31, 48, 58, 63, 80, 82, 83, 96, 112, 118, 121, 162, 167, 176, 181, 200, 201, 211, 240, 243, 253, 267, 268, 287, 288, 292, 305, 307, 329, 344, 384, 395, 403, 434, 449, 454, 462, 465, 467, 492, 579, 597, 603, 608, 611, 628, 632, 641, 657, 662, 689, 690, 691, 698, 707, 711, 714, 717, 737, 741, 744, 769, 783, 789, 799, 805, 821, 828, 851, 858, 865, 885, 910, 530, 535, 564] [INFO] [stdout] [INFO] [stdout] all vec: [14, 23, 31, 35, 45, 48, 52, 58, 63, 80, 82, 83, 86, 96, 109, 112, 118, 121, 156, 162, 167, 176, 181, 200, 201, 211, 227, 239, 240, 243, 253, 262, 267, 268, 286, 287, 288, 290, 292, 305, 307, 315, 320, 328, 329, 344, 362, 384, 388, 395, 401, 403, 434, 446, 449, 454, 462, 465, 467, 471, 486, 489, 492, 501, 530, 535, 536, 555, 557, 564, 571, 576, 579, 585, 597, 603, 606, 608, 610, 611, 626, 628, 632, 641, 654, 657, 662, 689, 690, 691, 698, 701, 706, 707, 711, 714, 717, 737, 741, 744, 746, 748, 769, 783, 789, 799, 802, 805, 821, 828, 851, 858, 865, 869, 879, 885, 909, 910, 935, 941, 946, 976, 988, 995, 996] [INFO] [stdout] [INFO] [stdout] a all vec: [14, 23, 31, 35, 45, 48, 52, 58, 63, 80, 82, 83, 86, 96, 109, 112, 118, 121, 156, 162, 167, 176, 181, 200, 201, 211, 227, 239, 240, 243, 253, 262, 267, 268, 286, 287, 288, 290, 292, 305, 307, 315, 320, 328, 329, 344, 362, 384, 388, 395, 401, 403, 434, 446, 449, 454, 462, 465, 467, 471, 486, 489, 492, 501, 530, 535, 536, 555, 557, 564, 571, 576, 579, 585, 597, 603, 606, 608, 610, 611, 626, 628, 632, 641, 654, 657, 662, 689, 690, 691, 698, 701, 706, 707, 711, 714, 717, 737, 741, 744, 746, 748, 769, 783, 789, 799, 802, 805, 821, 828, 851, 858, 865, 869, 879, 885, 909, 910, 935, 941, 946, 976, 988, 995, 996], true true [INFO] [stdout] [INFO] [stdout] b all vec: [14, 23, 31, 35, 45, 48, 52, 58, 63, 80, 82, 83, 86, 96, 109, 112, 118, 121, 156, 162, 167, 176, 181, 200, 201, 211, 227, 239, 240, 243, 253, 262, 267, 268, 286, 287, 288, 290, 292, 305, 307, 315, 320, 328, 329, 344, 362, 384, 388, 395, 401, 403, 434, 446, 449, 454, 462, 465, 467, 471, 486, 489, 492, 501, 530, 535, 536, 555, 557, 564, 571, 576, 579, 585, 597, 603, 606, 608, 610, 611, 626, 628, 632, 641, 654, 657, 662, 689, 690, 691, 698, 701, 706, 707, 711, 714, 717, 737, 741, 744, 746, 748, 769, 783, 789, 799, 802, 805, 821, 828, 851, 858, 865, 869, 879, 885, 909, 910, 935, 941, 946, 976, 988, 995, 996], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {49, 51, 60, 62, 85, 90, 114, 116, 152, 156, 164, 171, 192, 202, 209, 212, 213, 244, 248, 261, 263, 287, 291, 293, 299, 302, 324, 347, 348, 351, 371, 373, 389, 398, 423, 433, 440, 445, 451, 458, 460, 474, 499, 501, 502, 521, 535, 548, 569, 571, 575, 610, 618, 625, 629, 681, 692, 698, 717, 733, 751, 758, 769, 777, 817, 818, 825, 861, 871, 875, 878, 895, 918, 933, 952, 953, 955, 959, 961, 963, 978, 984, 990, 997} [INFO] [stdout] b items: {88, 127, 132, 140, 175, 297, 349, 442, 454, 555, 851, 904} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(49, 998), fp: EncodedCountingMonoid(84, SumMonoid(43533)) }], item_sets: [ItemSet { range: Range(998, 49), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(49, 349), fp: EncodedCountingMonoid(6, SumMonoid(959)) }, Fingerprint { range: Range(349, 998), fp: EncodedCountingMonoid(6, SumMonoid(3555)) }], item_sets: [ItemSet { range: Range(998, 49), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(49, 212), fp: EncodedCountingMonoid(15, SumMonoid(1873)) }, Fingerprint { range: Range(212, 349), fp: EncodedCountingMonoid(14, SumMonoid(3932)) }, Fingerprint { range: Range(349, 698), fp: EncodedCountingMonoid(28, SumMonoid(14142)) }, Fingerprint { range: Range(698, 998), fp: EncodedCountingMonoid(27, SumMonoid(23586)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(49, 140), fp: EncodedCountingMonoid(3, SumMonoid(347)) }], item_sets: [ItemSet { range: Range(140, 212), items: [140, 175], want_response: true }, ItemSet { range: Range(212, 349), items: [297], want_response: true }, ItemSet { range: Range(349, 454), items: [349, 442], want_response: true }, ItemSet { range: Range(454, 698), items: [454, 555], want_response: true }, ItemSet { range: Range(698, 998), items: [851, 904], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(49, 85), fp: EncodedCountingMonoid(4, SumMonoid(222)) }, Fingerprint { range: Range(85, 140), fp: EncodedCountingMonoid(4, SumMonoid(405)) }], item_sets: [ItemSet { range: Range(140, 212), items: [152, 156, 164, 171, 192, 202, 209], want_response: false }, ItemSet { range: Range(212, 349), items: [212, 213, 244, 248, 261, 263, 287, 291, 293, 299, 302, 324, 347, 348], want_response: false }, ItemSet { range: Range(349, 454), items: [351, 371, 373, 389, 398, 423, 433, 440, 445, 451], want_response: false }, ItemSet { range: Range(454, 698), items: [458, 460, 474, 499, 501, 502, 521, 535, 548, 569, 571, 575, 610, 618, 625, 629, 681, 692], want_response: false }, ItemSet { range: Range(698, 998), items: [698, 717, 733, 751, 758, 769, 777, 817, 818, 825, 861, 871, 875, 878, 895, 918, 933, 952, 953, 955, 959, 961, 963, 978, 984, 990, 997], want_response: false }], wants: [140, 175, 297, 349, 442, 454, 555, 851, 904], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(49, 85), items: [], want_response: true }, ItemSet { range: Range(85, 132), items: [88, 127], want_response: true }, ItemSet { range: Range(132, 140), items: [132], want_response: true }], wants: [152, 156, 164, 171, 192, 202, 209, 212, 213, 244, 248, 261, 263, 287, 291, 293, 299, 302, 324, 347, 348, 351, 371, 373, 389, 398, 423, 433, 440, 445, 451, 458, 460, 474, 499, 501, 502, 521, 535, 548, 569, 571, 575, 610, 618, 625, 629, 681, 692, 698, 717, 733, 751, 758, 769, 777, 817, 818, 825, 861, 871, 875, 878, 895, 918, 933, 952, 953, 955, 959, 961, 963, 978, 984, 990, 997], provide: [(140, true), (175, true), (297, true), (349, true), (442, true), (454, true), (555, true), (851, true), (904, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(49, 85), items: [49, 51, 60, 62], want_response: false }, ItemSet { range: Range(85, 132), items: [85, 90, 114, 116], want_response: false }, ItemSet { range: Range(132, 140), items: [], want_response: false }], wants: [88, 127, 132], provide: [(152, true), (156, true), (164, true), (171, true), (192, true), (202, true), (209, true), (212, true), (213, true), (244, true), (248, true), (261, true), (263, true), (287, true), (291, true), (293, true), (299, true), (302, true), (324, true), (347, true), (348, true), (351, true), (371, true), (373, true), (389, true), (398, true), (423, true), (433, true), (440, true), (445, true), (451, true), (458, true), (460, true), (474, true), (499, true), (501, true), (502, true), (521, true), (535, true), (548, true), (569, true), (571, true), (575, true), (610, true), (618, true), (625, true), (629, true), (681, true), (692, true), (698, true), (717, true), (733, true), (751, true), (758, true), (769, true), (777, true), (817, true), (818, true), (825, true), (861, true), (871, true), (875, true), (878, true), (895, true), (918, true), (933, true), (952, true), (953, true), (955, true), (959, true), (961, true), (963, true), (978, true), (984, true), (990, true), (997, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [49, 51, 60, 62, 85, 90, 114, 116], provide: [(88, true), (127, true), (132, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(49, true), (51, true), (60, true), (62, true), (85, true), (90, true), (114, true), (116, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {49, 51, 60, 62, 85, 90, 114, 116, 152, 156, 164, 171, 192, 202, 209, 212, 213, 244, 248, 261, 263, 287, 291, 293, 299, 302, 324, 347, 348, 351, 371, 373, 389, 398, 423, 433, 440, 445, 451, 458, 460, 474, 499, 501, 502, 521, 535, 548, 569, 571, 575, 610, 618, 625, 629, 681, 692, 698, 717, 733, 751, 758, 769, 777, 817, 818, 825, 861, 871, 875, 878, 895, 918, 933, 952, 953, 955, 959, 961, 963, 978, 984, 990, 997} + [140, 175, 297, 349, 442, 454, 555, 851, 904, 88, 127, 132] [INFO] [stdout] b all: {88, 127, 132, 140, 175, 297, 349, 442, 454, 555, 851, 904} + [152, 156, 164, 171, 192, 202, 209, 212, 213, 244, 248, 261, 263, 287, 291, 293, 299, 302, 324, 347, 348, 351, 371, 373, 389, 398, 423, 433, 440, 445, 451, 458, 460, 474, 499, 501, 502, 521, 535, 548, 569, 571, 575, 610, 618, 625, 629, 681, 692, 698, 717, 733, 751, 758, 769, 777, 817, 818, 825, 861, 871, 875, 878, 895, 918, 933, 952, 953, 955, 959, 961, 963, 978, 984, 990, 997, 49, 51, 60, 62, 85, 90, 114, 116] [INFO] [stdout] [INFO] [stdout] all vec: [49, 51, 60, 62, 85, 88, 90, 114, 116, 127, 132, 140, 152, 156, 164, 171, 175, 192, 202, 209, 212, 213, 244, 248, 261, 263, 287, 291, 293, 297, 299, 302, 324, 347, 348, 349, 351, 371, 373, 389, 398, 423, 433, 440, 442, 445, 451, 454, 458, 460, 474, 499, 501, 502, 521, 535, 548, 555, 569, 571, 575, 610, 618, 625, 629, 681, 692, 698, 717, 733, 751, 758, 769, 777, 817, 818, 825, 851, 861, 871, 875, 878, 895, 904, 918, 933, 952, 953, 955, 959, 961, 963, 978, 984, 990, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [49, 51, 60, 62, 85, 88, 90, 114, 116, 127, 132, 140, 152, 156, 164, 171, 175, 192, 202, 209, 212, 213, 244, 248, 261, 263, 287, 291, 293, 297, 299, 302, 324, 347, 348, 349, 351, 371, 373, 389, 398, 423, 433, 440, 442, 445, 451, 454, 458, 460, 474, 499, 501, 502, 521, 535, 548, 555, 569, 571, 575, 610, 618, 625, 629, 681, 692, 698, 717, 733, 751, 758, 769, 777, 817, 818, 825, 851, 861, 871, 875, 878, 895, 904, 918, 933, 952, 953, 955, 959, 961, 963, 978, 984, 990, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [49, 51, 60, 62, 85, 88, 90, 114, 116, 127, 132, 140, 152, 156, 164, 171, 175, 192, 202, 209, 212, 213, 244, 248, 261, 263, 287, 291, 293, 297, 299, 302, 324, 347, 348, 349, 351, 371, 373, 389, 398, 423, 433, 440, 442, 445, 451, 454, 458, 460, 474, 499, 501, 502, 521, 535, 548, 555, 569, 571, 575, 610, 618, 625, 629, 681, 692, 698, 717, 733, 751, 758, 769, 777, 817, 818, 825, 851, 861, 871, 875, 878, 895, 904, 918, 933, 952, 953, 955, 959, 961, 963, 978, 984, 990, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 14, 17, 76, 86, 96, 101, 103, 132, 167, 230, 251, 254, 261, 266, 277, 305, 312, 324, 327, 356, 372, 373, 386, 407, 410, 419, 455, 459, 479, 503, 515, 531, 547, 549, 550, 553, 562, 581, 595, 598, 603, 613, 618, 621, 633, 643, 657, 668, 698, 700, 711, 722, 729, 744, 789, 800, 820, 836, 917, 919, 927, 932, 935, 942, 967, 970, 992} [INFO] [stdout] b items: {83, 94, 151, 175, 217, 295, 386, 417, 454, 500, 528, 544, 598, 618, 623, 627, 664, 701, 721, 732, 793, 804, 832, 920, 928, 933, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 993), fp: EncodedCountingMonoid(68, SumMonoid(34911)) }], item_sets: [ItemSet { range: Range(993, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 623), fp: EncodedCountingMonoid(14, SumMonoid(5060)) }, Fingerprint { range: Range(623, 993), fp: EncodedCountingMonoid(13, SumMonoid(10264)) }], item_sets: [ItemSet { range: Range(993, 6), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 386), fp: EncodedCountingMonoid(23, SumMonoid(4706)) }, Fingerprint { range: Range(386, 623), fp: EncodedCountingMonoid(22, SumMonoid(11554)) }, Fingerprint { range: Range(623, 820), fp: EncodedCountingMonoid(12, SumMonoid(8494)) }, Fingerprint { range: Range(820, 993), fp: EncodedCountingMonoid(11, SumMonoid(10157)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 175), fp: EncodedCountingMonoid(3, SumMonoid(328)) }, Fingerprint { range: Range(175, 386), fp: EncodedCountingMonoid(3, SumMonoid(687)) }, Fingerprint { range: Range(386, 528), fp: EncodedCountingMonoid(4, SumMonoid(1757)) }, Fingerprint { range: Range(528, 623), fp: EncodedCountingMonoid(4, SumMonoid(2288)) }, Fingerprint { range: Range(623, 721), fp: EncodedCountingMonoid(4, SumMonoid(2615)) }, Fingerprint { range: Range(721, 820), fp: EncodedCountingMonoid(4, SumMonoid(3050)) }, Fingerprint { range: Range(820, 933), fp: EncodedCountingMonoid(3, SumMonoid(2680)) }], item_sets: [ItemSet { range: Range(933, 993), items: [933, 986], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 96), fp: EncodedCountingMonoid(5, SumMonoid(199)) }, Fingerprint { range: Range(96, 175), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(175, 312), fp: EncodedCountingMonoid(7, SumMonoid(1844)) }, Fingerprint { range: Range(312, 386), fp: EncodedCountingMonoid(6, SumMonoid(2064)) }, Fingerprint { range: Range(386, 459), fp: EncodedCountingMonoid(5, SumMonoid(2077)) }, Fingerprint { range: Range(459, 528), fp: EncodedCountingMonoid(4, SumMonoid(1956)) }, Fingerprint { range: Range(528, 595), fp: EncodedCountingMonoid(7, SumMonoid(3873)) }, Fingerprint { range: Range(595, 623), fp: EncodedCountingMonoid(6, SumMonoid(3648)) }, Fingerprint { range: Range(623, 698), fp: EncodedCountingMonoid(4, SumMonoid(2601)) }, Fingerprint { range: Range(698, 721), fp: EncodedCountingMonoid(3, SumMonoid(2109)) }, Fingerprint { range: Range(721, 789), fp: EncodedCountingMonoid(3, SumMonoid(2195)) }, Fingerprint { range: Range(820, 919), fp: EncodedCountingMonoid(3, SumMonoid(2573)) }, Fingerprint { range: Range(919, 933), fp: EncodedCountingMonoid(3, SumMonoid(2778)) }], item_sets: [ItemSet { range: Range(933, 993), items: [935, 942, 967, 970, 992], want_response: false }, ItemSet { range: Range(789, 820), items: [789, 800], want_response: true }], wants: [933, 986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(789, 820), items: [793, 804], want_response: false }, ItemSet { range: Range(6, 96), items: [83, 94], want_response: true }, ItemSet { range: Range(96, 175), items: [151], want_response: true }, ItemSet { range: Range(175, 295), items: [175, 217], want_response: true }, ItemSet { range: Range(295, 312), items: [295], want_response: true }, ItemSet { range: Range(312, 386), items: [], want_response: true }, ItemSet { range: Range(386, 454), items: [386, 417], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(459, 528), items: [500], want_response: true }, ItemSet { range: Range(528, 595), items: [528, 544], want_response: true }, ItemSet { range: Range(595, 623), items: [598, 618], want_response: true }, ItemSet { range: Range(623, 664), items: [623, 627], want_response: true }, ItemSet { range: Range(664, 698), items: [664], want_response: true }, ItemSet { range: Range(698, 721), items: [701], want_response: true }, ItemSet { range: Range(721, 789), items: [721, 732], want_response: true }, ItemSet { range: Range(820, 919), items: [832], want_response: true }, ItemSet { range: Range(919, 933), items: [920, 928], want_response: true }], wants: [935, 942, 967, 970, 992, 789, 800], provide: [(933, true), (986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 96), items: [6, 14, 17, 76, 86], want_response: false }, ItemSet { range: Range(96, 175), items: [96, 101, 103, 132, 167], want_response: false }, ItemSet { range: Range(175, 295), items: [230, 251, 254, 261, 266, 277], want_response: false }, ItemSet { range: Range(295, 312), items: [305], want_response: false }, ItemSet { range: Range(312, 386), items: [312, 324, 327, 356, 372, 373], want_response: false }, ItemSet { range: Range(386, 454), items: [386, 407, 410, 419], want_response: false }, ItemSet { range: Range(454, 459), items: [455], want_response: false }, ItemSet { range: Range(459, 528), items: [459, 479, 503, 515], want_response: false }, ItemSet { range: Range(528, 595), items: [531, 547, 549, 550, 553, 562, 581], want_response: false }, ItemSet { range: Range(595, 623), items: [595, 598, 603, 613, 618, 621], want_response: false }, ItemSet { range: Range(623, 664), items: [633, 643, 657], want_response: false }, ItemSet { range: Range(664, 698), items: [668], want_response: false }, ItemSet { range: Range(698, 721), items: [698, 700, 711], want_response: false }, ItemSet { range: Range(721, 789), items: [722, 729, 744], want_response: false }, ItemSet { range: Range(820, 919), items: [820, 836, 917], want_response: false }, ItemSet { range: Range(919, 933), items: [919, 927, 932], want_response: false }], wants: [793, 804, 83, 94, 151, 175, 217, 295, 417, 454, 500, 528, 544, 623, 627, 664, 701, 721, 732, 832, 920, 928], provide: [(935, true), (942, true), (967, true), (970, true), (992, true), (789, true), (800, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [6, 14, 17, 76, 86, 96, 101, 103, 132, 167, 230, 251, 254, 261, 266, 277, 305, 312, 324, 327, 356, 372, 373, 407, 410, 419, 455, 459, 479, 503, 515, 531, 547, 549, 550, 553, 562, 581, 595, 603, 613, 621, 633, 643, 657, 668, 698, 700, 711, 722, 729, 744, 820, 836, 917, 919, 927, 932], provide: [(793, true), (804, true), (83, true), (94, true), (151, true), (175, true), (217, true), (295, true), (417, true), (454, true), (500, true), (528, true), (544, true), (623, true), (627, true), (664, true), (701, true), (721, true), (732, true), (832, true), (920, true), (928, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(6, true), (14, true), (17, true), (76, true), (86, true), (96, true), (101, true), (103, true), (132, true), (167, true), (230, true), (251, true), (254, true), (261, true), (266, true), (277, true), (305, true), (312, true), (324, true), (327, true), (356, true), (372, true), (373, true), (407, true), (410, true), (419, true), (455, true), (459, true), (479, true), (503, true), (515, true), (531, true), (547, true), (549, true), (550, true), (553, true), (562, true), (581, true), (595, true), (603, true), (613, true), (621, true), (633, true), (643, true), (657, true), (668, true), (698, true), (700, true), (711, true), (722, true), (729, true), (744, true), (820, true), (836, true), (917, true), (919, true), (927, true), (932, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 14, 17, 76, 86, 96, 101, 103, 132, 167, 230, 251, 254, 261, 266, 277, 305, 312, 324, 327, 356, 372, 373, 386, 407, 410, 419, 455, 459, 479, 503, 515, 531, 547, 549, 550, 553, 562, 581, 595, 598, 603, 613, 618, 621, 633, 643, 657, 668, 698, 700, 711, 722, 729, 744, 789, 800, 820, 836, 917, 919, 927, 932, 935, 942, 967, 970, 992} + [933, 986, 793, 804, 83, 94, 151, 175, 217, 295, 417, 454, 500, 528, 544, 623, 627, 664, 701, 721, 732, 832, 920, 928] [INFO] [stdout] b all: {83, 94, 151, 175, 217, 295, 386, 417, 454, 500, 528, 544, 598, 618, 623, 627, 664, 701, 721, 732, 793, 804, 832, 920, 928, 933, 986} + [935, 942, 967, 970, 992, 789, 800, 6, 14, 17, 76, 86, 96, 101, 103, 132, 167, 230, 251, 254, 261, 266, 277, 305, 312, 324, 327, 356, 372, 373, 407, 410, 419, 455, 459, 479, 503, 515, 531, 547, 549, 550, 553, 562, 581, 595, 603, 613, 621, 633, 643, 657, 668, 698, 700, 711, 722, 729, 744, 820, 836, 917, 919, 927, 932] [INFO] [stdout] [INFO] [stdout] all vec: [6, 14, 17, 76, 83, 86, 94, 96, 101, 103, 132, 151, 167, 175, 217, 230, 251, 254, 261, 266, 277, 295, 305, 312, 324, 327, 356, 372, 373, 386, 407, 410, 417, 419, 454, 455, 459, 479, 500, 503, 515, 528, 531, 544, 547, 549, 550, 553, 562, 581, 595, 598, 603, 613, 618, 621, 623, 627, 633, 643, 657, 664, 668, 698, 700, 701, 711, 721, 722, 729, 732, 744, 789, 793, 800, 804, 820, 832, 836, 917, 919, 920, 927, 928, 932, 933, 935, 942, 967, 970, 986, 992] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 14, 17, 76, 83, 86, 94, 96, 101, 103, 132, 151, 167, 175, 217, 230, 251, 254, 261, 266, 277, 295, 305, 312, 324, 327, 356, 372, 373, 386, 407, 410, 417, 419, 454, 455, 459, 479, 500, 503, 515, 528, 531, 544, 547, 549, 550, 553, 562, 581, 595, 598, 603, 613, 618, 621, 623, 627, 633, 643, 657, 664, 668, 698, 700, 701, 711, 721, 722, 729, 732, 744, 789, 793, 800, 804, 820, 832, 836, 917, 919, 920, 927, 928, 932, 933, 935, 942, 967, 970, 986, 992], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 14, 17, 76, 83, 86, 94, 96, 101, 103, 132, 151, 167, 175, 217, 230, 251, 254, 261, 266, 277, 295, 305, 312, 324, 327, 356, 372, 373, 386, 407, 410, 417, 419, 454, 455, 459, 479, 500, 503, 515, 528, 531, 544, 547, 549, 550, 553, 562, 581, 595, 598, 603, 613, 618, 621, 623, 627, 633, 643, 657, 664, 668, 698, 700, 701, 711, 721, 722, 729, 732, 744, 789, 793, 800, 804, 820, 832, 836, 917, 919, 920, 927, 928, 932, 933, 935, 942, 967, 970, 986, 992], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {17, 30, 48, 65, 114, 132, 156, 170, 224, 227, 236, 260, 286, 295, 330, 337, 347, 388, 441, 491, 520, 534, 587, 620, 622, 625, 630, 633, 641, 689, 711, 749, 778, 790, 806, 826, 829, 842, 849, 882, 907, 908, 915, 935, 940, 955, 957, 958, 986} [INFO] [stdout] b items: {45, 62, 128, 133, 149, 170, 174, 179, 187, 208, 268, 279, 304, 307, 332, 376, 379, 387, 397, 398, 422, 470, 482, 484, 519, 523, 557, 559, 597, 616, 627, 631, 634, 678, 706, 721, 734, 753, 754, 766, 778, 785, 786, 811, 817, 818, 846, 872, 873, 880, 882, 889, 902, 903, 919, 929, 934, 936, 938, 944, 958, 980} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(17, 987), fp: EncodedCountingMonoid(49, SumMonoid(27218)) }], item_sets: [ItemSet { range: Range(987, 17), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(17, 631), fp: EncodedCountingMonoid(31, SumMonoid(10718)) }, Fingerprint { range: Range(631, 987), fp: EncodedCountingMonoid(31, SumMonoid(25757)) }], item_sets: [ItemSet { range: Range(987, 17), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(17, 330), fp: EncodedCountingMonoid(14, SumMonoid(2260)) }, Fingerprint { range: Range(330, 631), fp: EncodedCountingMonoid(13, SumMonoid(6472)) }, Fingerprint { range: Range(631, 849), fp: EncodedCountingMonoid(11, SumMonoid(8294)) }, Fingerprint { range: Range(849, 987), fp: EncodedCountingMonoid(11, SumMonoid(10192)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(17, 179), fp: EncodedCountingMonoid(7, SumMonoid(861)) }, Fingerprint { range: Range(179, 330), fp: EncodedCountingMonoid(7, SumMonoid(1732)) }, Fingerprint { range: Range(330, 484), fp: EncodedCountingMonoid(9, SumMonoid(3643)) }, Fingerprint { range: Range(484, 631), fp: EncodedCountingMonoid(8, SumMonoid(4482)) }, Fingerprint { range: Range(631, 766), fp: EncodedCountingMonoid(8, SumMonoid(5611)) }, Fingerprint { range: Range(766, 849), fp: EncodedCountingMonoid(8, SumMonoid(6407)) }, Fingerprint { range: Range(849, 929), fp: EncodedCountingMonoid(8, SumMonoid(7120)) }, Fingerprint { range: Range(929, 987), fp: EncodedCountingMonoid(7, SumMonoid(6619)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(17, 114), fp: EncodedCountingMonoid(4, SumMonoid(160)) }, Fingerprint { range: Range(114, 179), fp: EncodedCountingMonoid(4, SumMonoid(572)) }, Fingerprint { range: Range(179, 260), fp: EncodedCountingMonoid(3, SumMonoid(687)) }, Fingerprint { range: Range(260, 330), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(330, 388), fp: EncodedCountingMonoid(3, SumMonoid(1014)) }, Fingerprint { range: Range(484, 620), fp: EncodedCountingMonoid(4, SumMonoid(2132)) }, Fingerprint { range: Range(620, 631), fp: EncodedCountingMonoid(4, SumMonoid(2497)) }, Fingerprint { range: Range(631, 711), fp: EncodedCountingMonoid(3, SumMonoid(1963)) }, Fingerprint { range: Range(766, 826), fp: EncodedCountingMonoid(3, SumMonoid(2374)) }, Fingerprint { range: Range(826, 849), fp: EncodedCountingMonoid(3, SumMonoid(2497)) }, Fingerprint { range: Range(849, 908), fp: EncodedCountingMonoid(3, SumMonoid(2638)) }, Fingerprint { range: Range(929, 957), fp: EncodedCountingMonoid(3, SumMonoid(2830)) }, Fingerprint { range: Range(957, 987), fp: EncodedCountingMonoid(3, SumMonoid(2901)) }], item_sets: [ItemSet { range: Range(388, 484), items: [388, 441], want_response: true }, ItemSet { range: Range(711, 766), items: [711, 749], want_response: true }, ItemSet { range: Range(908, 929), items: [908, 915], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(114, 170), fp: EncodedCountingMonoid(3, SumMonoid(410)) }, Fingerprint { range: Range(484, 559), fp: EncodedCountingMonoid(4, SumMonoid(2083)) }, Fingerprint { range: Range(559, 620), fp: EncodedCountingMonoid(3, SumMonoid(1772)) }, Fingerprint { range: Range(766, 811), fp: EncodedCountingMonoid(4, SumMonoid(3115)) }, Fingerprint { range: Range(811, 826), fp: EncodedCountingMonoid(3, SumMonoid(2446)) }, Fingerprint { range: Range(849, 889), fp: EncodedCountingMonoid(4, SumMonoid(3507)) }, Fingerprint { range: Range(889, 908), fp: EncodedCountingMonoid(3, SumMonoid(2694)) }, Fingerprint { range: Range(929, 938), fp: EncodedCountingMonoid(3, SumMonoid(2799)) }], item_sets: [ItemSet { range: Range(388, 484), items: [397, 398, 422, 470, 482], want_response: false }, ItemSet { range: Range(711, 766), items: [721, 734, 753, 754], want_response: false }, ItemSet { range: Range(908, 929), items: [919], want_response: false }, ItemSet { range: Range(17, 114), items: [45, 62], want_response: true }, ItemSet { range: Range(170, 179), items: [170, 174], want_response: true }, ItemSet { range: Range(179, 208), items: [179, 187], want_response: true }, ItemSet { range: Range(208, 260), items: [208], want_response: true }, ItemSet { range: Range(260, 304), items: [268, 279], want_response: true }, ItemSet { range: Range(304, 330), items: [304, 307], want_response: true }, ItemSet { range: Range(330, 379), items: [332, 376], want_response: true }, ItemSet { range: Range(379, 388), items: [379, 387], want_response: true }, ItemSet { range: Range(620, 631), items: [627], want_response: true }, ItemSet { range: Range(631, 678), items: [631, 634], want_response: true }, ItemSet { range: Range(678, 711), items: [678, 706], want_response: true }, ItemSet { range: Range(826, 849), items: [846], want_response: true }, ItemSet { range: Range(938, 957), items: [938, 944], want_response: true }, ItemSet { range: Range(957, 987), items: [958, 980], want_response: true }], wants: [388, 441, 711, 749, 908, 915], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(17, 114), items: [17, 30, 48, 65], want_response: false }, ItemSet { range: Range(170, 179), items: [170], want_response: false }, ItemSet { range: Range(179, 208), items: [], want_response: false }, ItemSet { range: Range(208, 260), items: [224, 227, 236], want_response: false }, ItemSet { range: Range(260, 304), items: [260, 286, 295], want_response: false }, ItemSet { range: Range(304, 330), items: [], want_response: false }, ItemSet { range: Range(330, 379), items: [330, 337, 347], want_response: false }, ItemSet { range: Range(379, 388), items: [], want_response: false }, ItemSet { range: Range(620, 631), items: [620, 622, 625, 630], want_response: false }, ItemSet { range: Range(631, 678), items: [633, 641], want_response: false }, ItemSet { range: Range(678, 711), items: [689], want_response: false }, ItemSet { range: Range(826, 849), items: [826, 829, 842], want_response: false }, ItemSet { range: Range(938, 957), items: [940, 955], want_response: false }, ItemSet { range: Range(957, 987), items: [957, 958, 986], want_response: false }, ItemSet { range: Range(114, 156), items: [114, 132], want_response: true }, ItemSet { range: Range(156, 170), items: [156], want_response: true }, ItemSet { range: Range(484, 534), items: [491, 520], want_response: true }, ItemSet { range: Range(534, 559), items: [534], want_response: true }, ItemSet { range: Range(559, 620), items: [587], want_response: true }, ItemSet { range: Range(766, 806), items: [778, 790], want_response: true }, ItemSet { range: Range(806, 811), items: [806], want_response: true }, ItemSet { range: Range(811, 826), items: [], want_response: true }, ItemSet { range: Range(849, 889), items: [849, 882], want_response: true }, ItemSet { range: Range(889, 908), items: [907], want_response: true }, ItemSet { range: Range(929, 938), items: [935], want_response: true }], wants: [397, 398, 422, 470, 482, 721, 734, 753, 754, 919, 45, 62, 174, 179, 187, 208, 268, 279, 304, 307, 332, 376, 379, 387, 627, 631, 634, 678, 706, 846, 938, 944, 980], provide: [(388, true), (441, true), (711, true), (749, true), (908, true), (915, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(114, 156), items: [128, 133, 149], want_response: false }, ItemSet { range: Range(156, 170), items: [], want_response: false }, ItemSet { range: Range(484, 534), items: [484, 519, 523], want_response: false }, ItemSet { range: Range(534, 559), items: [557], want_response: false }, ItemSet { range: Range(559, 620), items: [559, 597, 616], want_response: false }, ItemSet { range: Range(766, 806), items: [766, 778, 785, 786], want_response: false }, ItemSet { range: Range(806, 811), items: [], want_response: false }, ItemSet { range: Range(811, 826), items: [811, 817, 818], want_response: false }, ItemSet { range: Range(849, 889), items: [872, 873, 880, 882], want_response: false }, ItemSet { range: Range(889, 908), items: [889, 902, 903], want_response: false }, ItemSet { range: Range(929, 938), items: [929, 934, 936], want_response: false }], wants: [17, 30, 48, 65, 224, 227, 236, 260, 286, 295, 330, 337, 347, 620, 622, 625, 630, 633, 641, 689, 826, 829, 842, 940, 955, 957, 986, 114, 132, 156, 491, 520, 534, 587, 790, 806, 849, 907, 935], provide: [(397, true), (398, true), (422, true), (470, true), (482, true), (721, true), (734, true), (753, true), (754, true), (919, true), (45, true), (62, true), (174, true), (179, true), (187, true), (208, true), (268, true), (279, true), (304, true), (307, true), (332, true), (376, true), (379, true), (387, true), (627, true), (631, true), (634, true), (678, true), (706, true), (846, true), (938, true), (944, true), (980, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [128, 133, 149, 484, 519, 523, 557, 559, 597, 616, 766, 785, 786, 811, 817, 818, 872, 873, 880, 889, 902, 903, 929, 934, 936], provide: [(17, true), (30, true), (48, true), (65, true), (224, true), (227, true), (236, true), (260, true), (286, true), (295, true), (330, true), (337, true), (347, true), (620, true), (622, true), (625, true), (630, true), (633, true), (641, true), (689, true), (826, true), (829, true), (842, true), (940, true), (955, true), (957, true), (986, true), (114, true), (132, true), (156, true), (491, true), (520, true), (534, true), (587, true), (790, true), (806, true), (849, true), (907, true), (935, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(128, true), (133, true), (149, true), (484, true), (519, true), (523, true), (557, true), (559, true), (597, true), (616, true), (766, true), (785, true), (786, true), (811, true), (817, true), (818, true), (872, true), (873, true), (880, true), (889, true), (902, true), (903, true), (929, true), (934, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {17, 30, 48, 65, 114, 132, 156, 170, 224, 227, 236, 260, 286, 295, 330, 337, 347, 388, 441, 491, 520, 534, 587, 620, 622, 625, 630, 633, 641, 689, 711, 749, 778, 790, 806, 826, 829, 842, 849, 882, 907, 908, 915, 935, 940, 955, 957, 958, 986} + [397, 398, 422, 470, 482, 721, 734, 753, 754, 919, 45, 62, 174, 179, 187, 208, 268, 279, 304, 307, 332, 376, 379, 387, 627, 631, 634, 678, 706, 846, 938, 944, 980, 128, 133, 149, 484, 519, 523, 557, 559, 597, 616, 766, 785, 786, 811, 817, 818, 872, 873, 880, 889, 902, 903, 929, 934, 936] [INFO] [stdout] b all: {45, 62, 128, 133, 149, 170, 174, 179, 187, 208, 268, 279, 304, 307, 332, 376, 379, 387, 397, 398, 422, 470, 482, 484, 519, 523, 557, 559, 597, 616, 627, 631, 634, 678, 706, 721, 734, 753, 754, 766, 778, 785, 786, 811, 817, 818, 846, 872, 873, 880, 882, 889, 902, 903, 919, 929, 934, 936, 938, 944, 958, 980} + [388, 441, 711, 749, 908, 915, 17, 30, 48, 65, 224, 227, 236, 260, 286, 295, 330, 337, 347, 620, 622, 625, 630, 633, 641, 689, 826, 829, 842, 940, 955, 957, 986, 114, 132, 156, 491, 520, 534, 587, 790, 806, 849, 907, 935] [INFO] [stdout] [INFO] [stdout] all vec: [17, 30, 45, 48, 62, 65, 114, 128, 132, 133, 149, 156, 170, 174, 179, 187, 208, 224, 227, 236, 260, 268, 279, 286, 295, 304, 307, 330, 332, 337, 347, 376, 379, 387, 388, 397, 398, 422, 441, 470, 482, 484, 491, 519, 520, 523, 534, 557, 559, 587, 597, 616, 620, 622, 625, 627, 630, 631, 633, 634, 641, 678, 689, 706, 711, 721, 734, 749, 753, 754, 766, 778, 785, 786, 790, 806, 811, 817, 818, 826, 829, 842, 846, 849, 872, 873, 880, 882, 889, 902, 903, 907, 908, 915, 919, 929, 934, 935, 936, 938, 940, 944, 955, 957, 958, 980, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [17, 30, 45, 48, 62, 65, 114, 128, 132, 133, 149, 156, 170, 174, 179, 187, 208, 224, 227, 236, 260, 268, 279, 286, 295, 304, 307, 330, 332, 337, 347, 376, 379, 387, 388, 397, 398, 422, 441, 470, 482, 484, 491, 519, 520, 523, 534, 557, 559, 587, 597, 616, 620, 622, 625, 627, 630, 631, 633, 634, 641, 678, 689, 706, 711, 721, 734, 749, 753, 754, 766, 778, 785, 786, 790, 806, 811, 817, 818, 826, 829, 842, 846, 849, 872, 873, 880, 882, 889, 902, 903, 907, 908, 915, 919, 929, 934, 935, 936, 938, 940, 944, 955, 957, 958, 980, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [17, 30, 45, 48, 62, 65, 114, 128, 132, 133, 149, 156, 170, 174, 179, 187, 208, 224, 227, 236, 260, 268, 279, 286, 295, 304, 307, 330, 332, 337, 347, 376, 379, 387, 388, 397, 398, 422, 441, 470, 482, 484, 491, 519, 520, 523, 534, 557, 559, 587, 597, 616, 620, 622, 625, 627, 630, 631, 633, 634, 641, 678, 689, 706, 711, 721, 734, 749, 753, 754, 766, 778, 785, 786, 790, 806, 811, 817, 818, 826, 829, 842, 846, 849, 872, 873, 880, 882, 889, 902, 903, 907, 908, 915, 919, 929, 934, 935, 936, 938, 940, 944, 955, 957, 958, 980, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {11, 29, 31, 35, 48, 63, 101, 137, 152, 167, 174, 175, 204, 205, 216, 223, 252, 258, 265, 268, 281, 284, 293, 311, 313, 325, 329, 349, 357, 364, 416, 421, 426, 433, 434, 449, 475, 484, 501, 507, 519, 521, 532, 555, 557, 558, 574, 577, 593, 604, 615, 621, 624, 631, 710, 716, 721, 741, 751, 754, 789, 795, 796, 816, 835, 845, 848, 855, 859, 865, 869, 887, 902, 918, 924, 954, 969, 980, 984, 993, 996} [INFO] [stdout] b items: {16, 34, 38, 76, 79, 97, 109, 150, 168, 219, 233, 297, 327, 358, 382, 421, 429, 441, 506, 522, 525, 531, 589, 617, 620, 663, 689, 699, 704, 710, 712, 742, 813, 825, 857, 897, 997, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 997), fp: EncodedCountingMonoid(81, SumMonoid(41919)) }], item_sets: [ItemSet { range: Range(997, 11), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 506), fp: EncodedCountingMonoid(18, SumMonoid(3874)) }, Fingerprint { range: Range(506, 997), fp: EncodedCountingMonoid(18, SumMonoid(12221)) }], item_sets: [ItemSet { range: Range(997, 11), items: [997, 998], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 281), fp: EncodedCountingMonoid(20, SumMonoid(3014)) }, Fingerprint { range: Range(281, 506), fp: EncodedCountingMonoid(19, SumMonoid(7245)) }, Fingerprint { range: Range(506, 789), fp: EncodedCountingMonoid(21, SumMonoid(12981)) }, Fingerprint { range: Range(789, 997), fp: EncodedCountingMonoid(21, SumMonoid(18679)) }], item_sets: [], wants: [997, 998], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 109), fp: EncodedCountingMonoid(6, SumMonoid(340)) }, Fingerprint { range: Range(109, 281), fp: EncodedCountingMonoid(5, SumMonoid(879)) }, Fingerprint { range: Range(281, 421), fp: EncodedCountingMonoid(4, SumMonoid(1364)) }, Fingerprint { range: Range(421, 506), fp: EncodedCountingMonoid(3, SumMonoid(1291)) }, Fingerprint { range: Range(506, 663), fp: EncodedCountingMonoid(7, SumMonoid(3910)) }, Fingerprint { range: Range(663, 789), fp: EncodedCountingMonoid(7, SumMonoid(4919)) }], item_sets: [ItemSet { range: Range(789, 857), items: [813, 825], want_response: true }, ItemSet { range: Range(857, 997), items: [857, 897], want_response: true }], wants: [], provide: [(997, true), (998, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 48), fp: EncodedCountingMonoid(4, SumMonoid(106)) }, Fingerprint { range: Range(48, 109), fp: EncodedCountingMonoid(3, SumMonoid(212)) }, Fingerprint { range: Range(109, 216), fp: EncodedCountingMonoid(7, SumMonoid(1214)) }, Fingerprint { range: Range(216, 281), fp: EncodedCountingMonoid(6, SumMonoid(1482)) }, Fingerprint { range: Range(281, 329), fp: EncodedCountingMonoid(6, SumMonoid(1807)) }, Fingerprint { range: Range(329, 421), fp: EncodedCountingMonoid(5, SumMonoid(1815)) }, Fingerprint { range: Range(421, 449), fp: EncodedCountingMonoid(4, SumMonoid(1714)) }, Fingerprint { range: Range(449, 506), fp: EncodedCountingMonoid(4, SumMonoid(1909)) }, Fingerprint { range: Range(506, 577), fp: EncodedCountingMonoid(8, SumMonoid(4323)) }, Fingerprint { range: Range(577, 663), fp: EncodedCountingMonoid(7, SumMonoid(4265)) }, Fingerprint { range: Range(663, 741), fp: EncodedCountingMonoid(3, SumMonoid(2147)) }, Fingerprint { range: Range(741, 789), fp: EncodedCountingMonoid(3, SumMonoid(2246)) }], item_sets: [ItemSet { range: Range(789, 857), items: [789, 795, 796, 816, 835, 845, 848, 855], want_response: false }, ItemSet { range: Range(857, 997), items: [859, 865, 869, 887, 902, 918, 924, 954, 969, 980, 984, 993, 996], want_response: false }], wants: [813, 825, 857, 897], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(663, 704), fp: EncodedCountingMonoid(3, SumMonoid(2051)) }, Fingerprint { range: Range(704, 741), fp: EncodedCountingMonoid(3, SumMonoid(2126)) }], item_sets: [ItemSet { range: Range(11, 38), items: [16, 34], want_response: true }, ItemSet { range: Range(38, 48), items: [38], want_response: true }, ItemSet { range: Range(48, 97), items: [76, 79], want_response: true }, ItemSet { range: Range(97, 109), items: [97], want_response: true }, ItemSet { range: Range(109, 168), items: [109, 150], want_response: true }, ItemSet { range: Range(168, 216), items: [168], want_response: true }, ItemSet { range: Range(216, 281), items: [219, 233], want_response: true }, ItemSet { range: Range(281, 329), items: [297, 327], want_response: true }, ItemSet { range: Range(329, 421), items: [358, 382], want_response: true }, ItemSet { range: Range(421, 441), items: [421, 429], want_response: true }, ItemSet { range: Range(441, 449), items: [441], want_response: true }, ItemSet { range: Range(449, 506), items: [], want_response: true }, ItemSet { range: Range(506, 525), items: [506, 522], want_response: true }, ItemSet { range: Range(525, 577), items: [525, 531], want_response: true }, ItemSet { range: Range(577, 620), items: [589, 617], want_response: true }, ItemSet { range: Range(620, 663), items: [620], want_response: true }, ItemSet { range: Range(741, 789), items: [742], want_response: true }], wants: [789, 795, 796, 816, 835, 845, 848, 855, 859, 865, 869, 887, 902, 918, 924, 954, 969, 980, 984, 993, 996], provide: [(813, true), (825, true), (857, true), (897, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(11, 38), items: [11, 29, 31, 35], want_response: false }, ItemSet { range: Range(38, 48), items: [], want_response: false }, ItemSet { range: Range(48, 97), items: [48, 63], want_response: false }, ItemSet { range: Range(97, 109), items: [101], want_response: false }, ItemSet { range: Range(109, 168), items: [137, 152, 167], want_response: false }, ItemSet { range: Range(168, 216), items: [174, 175, 204, 205], want_response: false }, ItemSet { range: Range(216, 281), items: [216, 223, 252, 258, 265, 268], want_response: false }, ItemSet { range: Range(281, 329), items: [281, 284, 293, 311, 313, 325], want_response: false }, ItemSet { range: Range(329, 421), items: [329, 349, 357, 364, 416], want_response: false }, ItemSet { range: Range(421, 441), items: [421, 426, 433, 434], want_response: false }, ItemSet { range: Range(441, 449), items: [], want_response: false }, ItemSet { range: Range(449, 506), items: [449, 475, 484, 501], want_response: false }, ItemSet { range: Range(506, 525), items: [507, 519, 521], want_response: false }, ItemSet { range: Range(525, 577), items: [532, 555, 557, 558, 574], want_response: false }, ItemSet { range: Range(577, 620), items: [577, 593, 604, 615], want_response: false }, ItemSet { range: Range(620, 663), items: [621, 624, 631], want_response: false }, ItemSet { range: Range(741, 789), items: [741, 751, 754], want_response: false }, ItemSet { range: Range(663, 704), items: [], want_response: true }, ItemSet { range: Range(704, 721), items: [710, 716], want_response: true }, ItemSet { range: Range(721, 741), items: [721], want_response: true }], wants: [16, 34, 38, 76, 79, 97, 109, 150, 168, 219, 233, 297, 327, 358, 382, 429, 441, 506, 522, 525, 531, 589, 617, 620, 742], provide: [(789, true), (795, true), (796, true), (816, true), (835, true), (845, true), (848, true), (855, true), (859, true), (865, true), (869, true), (887, true), (902, true), (918, true), (924, true), (954, true), (969, true), (980, true), (984, true), (993, true), (996, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(663, 704), items: [663, 689, 699], want_response: false }, ItemSet { range: Range(704, 721), items: [704, 710, 712], want_response: false }, ItemSet { range: Range(721, 741), items: [], want_response: false }], wants: [11, 29, 31, 35, 48, 63, 101, 137, 152, 167, 174, 175, 204, 205, 216, 223, 252, 258, 265, 268, 281, 284, 293, 311, 313, 325, 329, 349, 357, 364, 416, 426, 433, 434, 449, 475, 484, 501, 507, 519, 521, 532, 555, 557, 558, 574, 577, 593, 604, 615, 621, 624, 631, 741, 751, 754, 716, 721], provide: [(16, true), (34, true), (38, true), (76, true), (79, true), (97, true), (109, true), (150, true), (168, true), (219, true), (233, true), (297, true), (327, true), (358, true), (382, true), (429, true), (441, true), (506, true), (522, true), (525, true), (531, true), (589, true), (617, true), (620, true), (742, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [663, 689, 699, 704, 712], provide: [(11, true), (29, true), (31, true), (35, true), (48, true), (63, true), (101, true), (137, true), (152, true), (167, true), (174, true), (175, true), (204, true), (205, true), (216, true), (223, true), (252, true), (258, true), (265, true), (268, true), (281, true), (284, true), (293, true), (311, true), (313, true), (325, true), (329, true), (349, true), (357, true), (364, true), (416, true), (426, true), (433, true), (434, true), (449, true), (475, true), (484, true), (501, true), (507, true), (519, true), (521, true), (532, true), (555, true), (557, true), (558, true), (574, true), (577, true), (593, true), (604, true), (615, true), (621, true), (624, true), (631, true), (741, true), (751, true), (754, true), (716, true), (721, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(663, true), (689, true), (699, true), (704, true), (712, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {11, 29, 31, 35, 48, 63, 101, 137, 152, 167, 174, 175, 204, 205, 216, 223, 252, 258, 265, 268, 281, 284, 293, 311, 313, 325, 329, 349, 357, 364, 416, 421, 426, 433, 434, 449, 475, 484, 501, 507, 519, 521, 532, 555, 557, 558, 574, 577, 593, 604, 615, 621, 624, 631, 710, 716, 721, 741, 751, 754, 789, 795, 796, 816, 835, 845, 848, 855, 859, 865, 869, 887, 902, 918, 924, 954, 969, 980, 984, 993, 996} + [997, 998, 813, 825, 857, 897, 16, 34, 38, 76, 79, 97, 109, 150, 168, 219, 233, 297, 327, 358, 382, 429, 441, 506, 522, 525, 531, 589, 617, 620, 742, 663, 689, 699, 704, 712] [INFO] [stdout] b all: {16, 34, 38, 76, 79, 97, 109, 150, 168, 219, 233, 297, 327, 358, 382, 421, 429, 441, 506, 522, 525, 531, 589, 617, 620, 663, 689, 699, 704, 710, 712, 742, 813, 825, 857, 897, 997, 998} + [789, 795, 796, 816, 835, 845, 848, 855, 859, 865, 869, 887, 902, 918, 924, 954, 969, 980, 984, 993, 996, 11, 29, 31, 35, 48, 63, 101, 137, 152, 167, 174, 175, 204, 205, 216, 223, 252, 258, 265, 268, 281, 284, 293, 311, 313, 325, 329, 349, 357, 364, 416, 426, 433, 434, 449, 475, 484, 501, 507, 519, 521, 532, 555, 557, 558, 574, 577, 593, 604, 615, 621, 624, 631, 741, 751, 754, 716, 721] [INFO] [stdout] [INFO] [stdout] all vec: [11, 16, 29, 31, 34, 35, 38, 48, 63, 76, 79, 97, 101, 109, 137, 150, 152, 167, 168, 174, 175, 204, 205, 216, 219, 223, 233, 252, 258, 265, 268, 281, 284, 293, 297, 311, 313, 325, 327, 329, 349, 357, 358, 364, 382, 416, 421, 426, 429, 433, 434, 441, 449, 475, 484, 501, 506, 507, 519, 521, 522, 525, 531, 532, 555, 557, 558, 574, 577, 589, 593, 604, 615, 617, 620, 621, 624, 631, 663, 689, 699, 704, 710, 712, 716, 721, 741, 742, 751, 754, 789, 795, 796, 813, 816, 825, 835, 845, 848, 855, 857, 859, 865, 869, 887, 897, 902, 918, 924, 954, 969, 980, 984, 993, 996, 997, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [11, 16, 29, 31, 34, 35, 38, 48, 63, 76, 79, 97, 101, 109, 137, 150, 152, 167, 168, 174, 175, 204, 205, 216, 219, 223, 233, 252, 258, 265, 268, 281, 284, 293, 297, 311, 313, 325, 327, 329, 349, 357, 358, 364, 382, 416, 421, 426, 429, 433, 434, 441, 449, 475, 484, 501, 506, 507, 519, 521, 522, 525, 531, 532, 555, 557, 558, 574, 577, 589, 593, 604, 615, 617, 620, 621, 624, 631, 663, 689, 699, 704, 710, 712, 716, 721, 741, 742, 751, 754, 789, 795, 796, 813, 816, 825, 835, 845, 848, 855, 857, 859, 865, 869, 887, 897, 902, 918, 924, 954, 969, 980, 984, 993, 996, 997, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [11, 16, 29, 31, 34, 35, 38, 48, 63, 76, 79, 97, 101, 109, 137, 150, 152, 167, 168, 174, 175, 204, 205, 216, 219, 223, 233, 252, 258, 265, 268, 281, 284, 293, 297, 311, 313, 325, 327, 329, 349, 357, 358, 364, 382, 416, 421, 426, 429, 433, 434, 441, 449, 475, 484, 501, 506, 507, 519, 521, 522, 525, 531, 532, 555, 557, 558, 574, 577, 589, 593, 604, 615, 617, 620, 621, 624, 631, 663, 689, 699, 704, 710, 712, 716, 721, 741, 742, 751, 754, 789, 795, 796, 813, 816, 825, 835, 845, 848, 855, 857, 859, 865, 869, 887, 897, 902, 918, 924, 954, 969, 980, 984, 993, 996, 997, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 12, 18, 22, 102, 147, 151, 172, 174, 191, 212, 298, 360, 444, 671, 779, 846, 898, 919, 920} [INFO] [stdout] b items: {35, 145, 224, 238, 286, 291, 308, 380, 470, 475, 487, 555, 587, 698, 739, 746, 799, 839, 907, 922, 963} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 921), fp: EncodedCountingMonoid(20, SumMonoid(7342)) }], item_sets: [ItemSet { range: Range(921, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 487), fp: EncodedCountingMonoid(10, SumMonoid(2852)) }, Fingerprint { range: Range(487, 921), fp: EncodedCountingMonoid(9, SumMonoid(6357)) }], item_sets: [ItemSet { range: Range(921, 6), items: [922, 963], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 172), fp: EncodedCountingMonoid(7, SumMonoid(458)) }, Fingerprint { range: Range(172, 487), fp: EncodedCountingMonoid(7, SumMonoid(1851)) }, Fingerprint { range: Range(487, 898), fp: EncodedCountingMonoid(3, SumMonoid(2296)) }, Fingerprint { range: Range(898, 921), fp: EncodedCountingMonoid(3, SumMonoid(2737)) }], item_sets: [], wants: [922, 963], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(172, 308), fp: EncodedCountingMonoid(4, SumMonoid(1039)) }, Fingerprint { range: Range(308, 487), fp: EncodedCountingMonoid(4, SumMonoid(1633)) }, Fingerprint { range: Range(487, 739), fp: EncodedCountingMonoid(4, SumMonoid(2327)) }, Fingerprint { range: Range(739, 898), fp: EncodedCountingMonoid(4, SumMonoid(3123)) }], item_sets: [ItemSet { range: Range(6, 172), items: [35, 145], want_response: true }, ItemSet { range: Range(898, 921), items: [907], want_response: true }], wants: [], provide: [(922, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(172, 212), fp: EncodedCountingMonoid(3, SumMonoid(537)) }], item_sets: [ItemSet { range: Range(6, 172), items: [6, 12, 18, 22, 102, 147, 151], want_response: false }, ItemSet { range: Range(898, 921), items: [898, 919, 920], want_response: false }, ItemSet { range: Range(212, 308), items: [212, 298], want_response: true }, ItemSet { range: Range(308, 487), items: [360, 444], want_response: true }, ItemSet { range: Range(487, 739), items: [671], want_response: true }, ItemSet { range: Range(739, 898), items: [779, 846], want_response: true }], wants: [35, 145, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(212, 308), items: [224, 238, 286, 291], want_response: false }, ItemSet { range: Range(308, 487), items: [308, 380, 470, 475], want_response: false }, ItemSet { range: Range(487, 739), items: [487, 555, 587, 698], want_response: false }, ItemSet { range: Range(739, 898), items: [739, 746, 799, 839], want_response: false }, ItemSet { range: Range(172, 212), items: [], want_response: true }], wants: [6, 12, 18, 22, 102, 147, 151, 898, 919, 920, 212, 298, 360, 444, 671, 779, 846], provide: [(35, true), (145, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(172, 212), items: [172, 174, 191], want_response: false }], wants: [224, 238, 286, 291, 308, 380, 470, 475, 487, 555, 587, 698, 739, 746, 799, 839], provide: [(6, true), (12, true), (18, true), (22, true), (102, true), (147, true), (151, true), (898, true), (919, true), (920, true), (212, true), (298, true), (360, true), (444, true), (671, true), (779, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [172, 174, 191], provide: [(224, true), (238, true), (286, true), (291, true), (308, true), (380, true), (470, true), (475, true), (487, true), (555, true), (587, true), (698, true), (739, true), (746, true), (799, true), (839, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(172, true), (174, true), (191, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 12, 18, 22, 102, 147, 151, 172, 174, 191, 212, 298, 360, 444, 671, 779, 846, 898, 919, 920} + [922, 963, 35, 145, 907, 224, 238, 286, 291, 308, 380, 470, 475, 487, 555, 587, 698, 739, 746, 799, 839] [INFO] [stdout] b all: {35, 145, 224, 238, 286, 291, 308, 380, 470, 475, 487, 555, 587, 698, 739, 746, 799, 839, 907, 922, 963} + [6, 12, 18, 22, 102, 147, 151, 898, 919, 920, 212, 298, 360, 444, 671, 779, 846, 172, 174, 191] [INFO] [stdout] [INFO] [stdout] all vec: [6, 12, 18, 22, 35, 102, 145, 147, 151, 172, 174, 191, 212, 224, 238, 286, 291, 298, 308, 360, 380, 444, 470, 475, 487, 555, 587, 671, 698, 739, 746, 779, 799, 839, 846, 898, 907, 919, 920, 922, 963] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 12, 18, 22, 35, 102, 145, 147, 151, 172, 174, 191, 212, 224, 238, 286, 291, 298, 308, 360, 380, 444, 470, 475, 487, 555, 587, 671, 698, 739, 746, 779, 799, 839, 846, 898, 907, 919, 920, 922, 963], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 12, 18, 22, 35, 102, 145, 147, 151, 172, 174, 191, 212, 224, 238, 286, 291, 298, 308, 360, 380, 444, 470, 475, 487, 555, 587, 671, 698, 739, 746, 779, 799, 839, 846, 898, 907, 919, 920, 922, 963], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 23, 29, 32, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 490, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 983), fp: EncodedCountingMonoid(55, SumMonoid(26431)) }], item_sets: [ItemSet { range: Range(983, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 983), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(983, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(15, SumMonoid(1885)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(15, SumMonoid(6494)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(13, SumMonoid(7861)) }, Fingerprint { range: Range(682, 983), fp: EncodedCountingMonoid(12, SumMonoid(10191)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 983), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(5, SumMonoid(105)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 269), fp: EncodedCountingMonoid(3, SumMonoid(613)) }, Fingerprint { range: Range(269, 314), fp: EncodedCountingMonoid(3, SumMonoid(867)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(459, 506), fp: EncodedCountingMonoid(3, SumMonoid(1454)) }, Fingerprint { range: Range(506, 555), fp: EncodedCountingMonoid(3, SumMonoid(1554)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(5, SumMonoid(3039)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 983), fp: EncodedCountingMonoid(5, SumMonoid(4696)) }], item_sets: [ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 269), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(459, 479), fp: EncodedCountingMonoid(3, SumMonoid(1402)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 983), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(269, 306), items: [289, 290], want_response: true }, ItemSet { range: Range(306, 314), items: [306, 309], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(479, 506), items: [479, 484], want_response: true }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 23, 29, 32], want_response: false }, ItemSet { range: Range(269, 306), items: [269, 287], want_response: false }, ItemSet { range: Range(306, 314), items: [311], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(479, 506), items: [490, 504], want_response: false }, ItemSet { range: Range(506, 555), items: [506, 519, 529], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 587, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 239), items: [169, 205], want_response: true }, ItemSet { range: Range(239, 255), items: [239], want_response: true }, ItemSet { range: Range(255, 269), items: [], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(459, 479), items: [460], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }, ItemSet { range: Range(982, 983), items: [982], want_response: true }], wants: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 289, 290, 306, 309, 479, 484, 512, 552, 562, 564, 574, 623], provide: [(656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 239), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(239, 255), items: [], want_response: false }, ItemSet { range: Range(255, 269), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(459, 479), items: [459, 465, 478], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(982, 983), items: [], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 23, 29, 32, 269, 287, 311, 420, 421, 428, 454, 490, 504, 506, 519, 529, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 169, 205, 239, 395, 460, 824, 835, 874, 973, 981, 982], provide: [(645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (289, true), (290, true), (306, true), (309, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (23, true), (29, true), (32, true), (269, true), (287, true), (311, true), (420, true), (421, true), (428, true), (454, true), (490, true), (504, true), (506, true), (519, true), (529, true), (558, true), (560, true), (563, true), (575, true), (579, true), (587, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (169, true), (205, true), (239, true), (395, true), (460, true), (824, true), (835, true), (874, true), (973, true), (981, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 23, 29, 32, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 490, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} + [986, 995, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 289, 290, 306, 309, 479, 484, 512, 552, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [656, 674, 681, 682, 743, 6, 15, 23, 29, 32, 269, 287, 311, 420, 421, 428, 454, 490, 504, 506, 519, 529, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 169, 205, 239, 395, 460, 824, 835, 874, 973, 981, 982, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 23, 32, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 490, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 983), fp: EncodedCountingMonoid(54, SumMonoid(26402)) }], item_sets: [ItemSet { range: Range(983, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 983), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(983, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 343), fp: EncodedCountingMonoid(15, SumMonoid(2170)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(14, SumMonoid(6180)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(13, SumMonoid(7861)) }, Fingerprint { range: Range(682, 983), fp: EncodedCountingMonoid(12, SumMonoid(10191)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 983), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(76)) }, Fingerprint { range: Range(43, 165), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(165, 287), fp: EncodedCountingMonoid(4, SumMonoid(882)) }, Fingerprint { range: Range(287, 343), fp: EncodedCountingMonoid(3, SumMonoid(912)) }, Fingerprint { range: Range(343, 421), fp: EncodedCountingMonoid(5, SumMonoid(1869)) }, Fingerprint { range: Range(421, 465), fp: EncodedCountingMonoid(4, SumMonoid(1763)) }, Fingerprint { range: Range(465, 519), fp: EncodedCountingMonoid(3, SumMonoid(1500)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(5, SumMonoid(3039)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 983), fp: EncodedCountingMonoid(5, SumMonoid(4696)) }], item_sets: [ItemSet { range: Range(519, 555), items: [519, 529], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(6, SumMonoid(892)) }, Fingerprint { range: Range(165, 255), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(287, 309), fp: EncodedCountingMonoid(3, SumMonoid(885)) }, Fingerprint { range: Range(309, 343), fp: EncodedCountingMonoid(3, SumMonoid(965)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 421), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }, Fingerprint { range: Range(465, 484), fp: EncodedCountingMonoid(3, SumMonoid(1422)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 983), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(421, 465), items: [459], want_response: true }, ItemSet { range: Range(484, 519), items: [484, 512], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [519, 529, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 23, 32], want_response: false }, ItemSet { range: Range(421, 465), items: [421, 428, 454, 460], want_response: false }, ItemSet { range: Range(484, 519), items: [490, 504, 506], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 587, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }, ItemSet { range: Range(165, 239), items: [169, 205], want_response: true }, ItemSet { range: Range(239, 255), items: [239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(287, 309), items: [287], want_response: true }, ItemSet { range: Range(309, 343), items: [311, 314], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 421), items: [395, 420], want_response: true }, ItemSet { range: Range(465, 484), items: [], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }, ItemSet { range: Range(982, 983), items: [982], want_response: true }], wants: [552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 459, 484, 512, 562, 564, 574, 623], provide: [(519, true), (529, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 239), items: [165, 195, 224], want_response: false }, ItemSet { range: Range(239, 255), items: [], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(287, 309), items: [289, 290, 306], want_response: false }, ItemSet { range: Range(309, 343), items: [309, 315, 341], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 421), items: [388, 404, 417], want_response: false }, ItemSet { range: Range(465, 484), items: [465, 478, 479], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(982, 983), items: [], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 23, 32, 421, 428, 454, 460, 490, 504, 506, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 824, 835, 874, 973, 981, 982], provide: [(552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (459, true), (484, true), (512, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 465, 478, 479, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (23, true), (32, true), (421, true), (428, true), (454, true), (460, true), (490, true), (504, true), (506, true), (558, true), (560, true), (563, true), (575, true), (579, true), (587, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (169, true), (205, true), (239, true), (269, true), (287, true), (311, true), (314, true), (343, true), (353, true), (358, true), (395, true), (420, true), (824, true), (835, true), (874, true), (973, true), (981, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (465, true), (478, true), (479, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 23, 32, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 490, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} + [986, 995, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 459, 484, 512, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 465, 478, 479, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [519, 529, 656, 674, 681, 682, 743, 6, 15, 23, 32, 421, 428, 454, 460, 490, 504, 506, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 824, 835, 874, 973, 981, 982, 802, 804, 805] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 20, 23, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 169, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 490, 504, 506, 512, 519, 529, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 587, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 982, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 20, 23, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 169, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 490, 504, 506, 512, 519, 529, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 587, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 982, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 20, 23, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 169, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 490, 504, 506, 512, 519, 529, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 587, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 982, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 23, 29, 32, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 490, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 983), fp: EncodedCountingMonoid(55, SumMonoid(26431)) }], item_sets: [ItemSet { range: Range(983, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 983), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(983, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(15, SumMonoid(1885)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(15, SumMonoid(6494)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(13, SumMonoid(7861)) }, Fingerprint { range: Range(682, 983), fp: EncodedCountingMonoid(12, SumMonoid(10191)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 983), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(5, SumMonoid(105)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 269), fp: EncodedCountingMonoid(3, SumMonoid(613)) }, Fingerprint { range: Range(269, 314), fp: EncodedCountingMonoid(3, SumMonoid(867)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(459, 506), fp: EncodedCountingMonoid(3, SumMonoid(1454)) }, Fingerprint { range: Range(506, 555), fp: EncodedCountingMonoid(3, SumMonoid(1554)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(5, SumMonoid(3039)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 983), fp: EncodedCountingMonoid(5, SumMonoid(4696)) }], item_sets: [ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 269), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(459, 479), fp: EncodedCountingMonoid(3, SumMonoid(1402)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 983), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(269, 306), items: [289, 290], want_response: true }, ItemSet { range: Range(306, 314), items: [306, 309], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(479, 506), items: [479, 484], want_response: true }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 23, 29, 32], want_response: false }, ItemSet { range: Range(269, 306), items: [269, 287], want_response: false }, ItemSet { range: Range(306, 314), items: [311], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(479, 506), items: [490, 504], want_response: false }, ItemSet { range: Range(506, 555), items: [506, 519, 529], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 587, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 239), items: [169, 205], want_response: true }, ItemSet { range: Range(239, 255), items: [239], want_response: true }, ItemSet { range: Range(255, 269), items: [], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(459, 479), items: [460], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }, ItemSet { range: Range(982, 983), items: [982], want_response: true }], wants: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 289, 290, 306, 309, 479, 484, 512, 552, 562, 564, 574, 623], provide: [(656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 239), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(239, 255), items: [], want_response: false }, ItemSet { range: Range(255, 269), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(459, 479), items: [459, 465, 478], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(982, 983), items: [], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 23, 29, 32, 269, 287, 311, 420, 421, 428, 454, 490, 504, 506, 519, 529, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 169, 205, 239, 395, 460, 824, 835, 874, 973, 981, 982], provide: [(645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (289, true), (290, true), (306, true), (309, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (23, true), (29, true), (32, true), (269, true), (287, true), (311, true), (420, true), (421, true), (428, true), (454, true), (490, true), (504, true), (506, true), (519, true), (529, true), (558, true), (560, true), (563, true), (575, true), (579, true), (587, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (169, true), (205, true), (239, true), (395, true), (460, true), (824, true), (835, true), (874, true), (973, true), (981, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 23, 29, 32, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 490, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} + [986, 995, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 289, 290, 306, 309, 479, 484, 512, 552, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [656, 674, 681, 682, 743, 6, 15, 23, 29, 32, 269, 287, 311, 420, 421, 428, 454, 490, 504, 506, 519, 529, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 169, 205, 239, 395, 460, 824, 835, 874, 973, 981, 982, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 23, 29, 32, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 983), fp: EncodedCountingMonoid(54, SumMonoid(25941)) }], item_sets: [ItemSet { range: Range(983, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 983), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(983, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(15, SumMonoid(1885)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(14, SumMonoid(6004)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(13, SumMonoid(7861)) }, Fingerprint { range: Range(682, 983), fp: EncodedCountingMonoid(12, SumMonoid(10191)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 983), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(5, SumMonoid(105)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 269), fp: EncodedCountingMonoid(3, SumMonoid(613)) }, Fingerprint { range: Range(269, 314), fp: EncodedCountingMonoid(3, SumMonoid(867)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(459, 519), fp: EncodedCountingMonoid(3, SumMonoid(1470)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(5, SumMonoid(3039)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 983), fp: EncodedCountingMonoid(5, SumMonoid(4696)) }], item_sets: [ItemSet { range: Range(519, 555), items: [519, 529], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 269), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(459, 479), fp: EncodedCountingMonoid(3, SumMonoid(1402)) }, Fingerprint { range: Range(479, 519), fp: EncodedCountingMonoid(3, SumMonoid(1475)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 983), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(269, 306), items: [289, 290], want_response: true }, ItemSet { range: Range(306, 314), items: [306, 309], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [519, 529, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 23, 29, 32], want_response: false }, ItemSet { range: Range(269, 306), items: [269, 287], want_response: false }, ItemSet { range: Range(306, 314), items: [311], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 587, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 239), items: [169, 205], want_response: true }, ItemSet { range: Range(239, 255), items: [239], want_response: true }, ItemSet { range: Range(255, 269), items: [], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(459, 479), items: [460], want_response: true }, ItemSet { range: Range(479, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }, ItemSet { range: Range(982, 983), items: [982], want_response: true }], wants: [552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 289, 290, 306, 309, 562, 564, 574, 623], provide: [(519, true), (529, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 239), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(239, 255), items: [], want_response: false }, ItemSet { range: Range(255, 269), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(459, 479), items: [459, 465, 478], want_response: false }, ItemSet { range: Range(479, 519), items: [479, 484, 512], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(982, 983), items: [], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 23, 29, 32, 269, 287, 311, 420, 421, 428, 454, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 169, 205, 239, 395, 460, 504, 506, 824, 835, 874, 973, 981, 982], provide: [(552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (289, true), (290, true), (306, true), (309, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (23, true), (29, true), (32, true), (269, true), (287, true), (311, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (587, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (169, true), (205, true), (239, true), (395, true), (460, true), (504, true), (506, true), (824, true), (835, true), (874, true), (973, true), (981, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 23, 29, 32, 43, 52, 87, 118, 169, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} + [986, 995, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 289, 290, 306, 309, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [519, 529, 656, 674, 681, 682, 743, 6, 15, 23, 29, 32, 269, 287, 311, 420, 421, 428, 454, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 169, 205, 239, 395, 460, 504, 506, 824, 835, 874, 973, 981, 982, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 23, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 983), fp: EncodedCountingMonoid(53, SumMonoid(25772)) }], item_sets: [ItemSet { range: Range(983, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 983), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(983, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(14, SumMonoid(1716)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(14, SumMonoid(6004)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(13, SumMonoid(7861)) }, Fingerprint { range: Range(682, 983), fp: EncodedCountingMonoid(12, SumMonoid(10191)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 983), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(5, SumMonoid(105)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(459, 519), fp: EncodedCountingMonoid(3, SumMonoid(1470)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(5, SumMonoid(3039)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 983), fp: EncodedCountingMonoid(5, SumMonoid(4696)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(519, 555), items: [519, 529], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(459, 479), fp: EncodedCountingMonoid(3, SumMonoid(1402)) }, Fingerprint { range: Range(479, 519), fp: EncodedCountingMonoid(3, SumMonoid(1475)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 983), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 519, 529, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 23, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 587, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(459, 479), items: [460], want_response: true }, ItemSet { range: Range(479, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }, ItemSet { range: Range(982, 983), items: [982], want_response: true }], wants: [289, 290, 306, 309, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (519, true), (529, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(459, 479), items: [459, 465, 478], want_response: false }, ItemSet { range: Range(479, 519), items: [479, 484, 512], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(982, 983), items: [], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 23, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 460, 504, 506, 824, 835, 874, 973, 981, 982], provide: [(289, true), (290, true), (306, true), (309, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (23, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (587, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (460, true), (504, true), (506, true), (824, true), (835, true), (874, true), (973, true), (981, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 23, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 587, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} + [986, 995, 289, 290, 306, 309, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 519, 529, 656, 674, 681, 682, 743, 6, 15, 23, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 587, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 460, 504, 506, 824, 835, 874, 973, 981, 982, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 23, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 983), fp: EncodedCountingMonoid(52, SumMonoid(25185)) }], item_sets: [ItemSet { range: Range(983, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 983), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(983, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(14, SumMonoid(1716)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(14, SumMonoid(6004)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 983), fp: EncodedCountingMonoid(12, SumMonoid(10191)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 983), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(5, SumMonoid(105)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(459, 519), fp: EncodedCountingMonoid(3, SumMonoid(1470)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 983), fp: EncodedCountingMonoid(5, SumMonoid(4696)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(519, 555), items: [519, 529], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(459, 479), fp: EncodedCountingMonoid(3, SumMonoid(1402)) }, Fingerprint { range: Range(479, 519), fp: EncodedCountingMonoid(3, SumMonoid(1475)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 983), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 519, 529, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 23, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(459, 479), items: [460], want_response: true }, ItemSet { range: Range(479, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }, ItemSet { range: Range(982, 983), items: [982], want_response: true }], wants: [289, 290, 306, 309, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (519, true), (529, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(459, 479), items: [459, 465, 478], want_response: false }, ItemSet { range: Range(479, 519), items: [479, 484, 512], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(982, 983), items: [], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 23, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 460, 504, 506, 824, 835, 874, 973, 981, 982], provide: [(289, true), (290, true), (306, true), (309, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (23, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (460, true), (504, true), (506, true), (824, true), (835, true), (874, true), (973, true), (981, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 23, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 529, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} + [986, 995, 289, 290, 306, 309, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 519, 529, 656, 674, 681, 682, 743, 6, 15, 23, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 460, 504, 506, 824, 835, 874, 973, 981, 982, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 23, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 983), fp: EncodedCountingMonoid(51, SumMonoid(24656)) }], item_sets: [ItemSet { range: Range(983, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 983), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(983, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(14, SumMonoid(1716)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 983), fp: EncodedCountingMonoid(12, SumMonoid(10191)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 983), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(5, SumMonoid(105)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 983), fp: EncodedCountingMonoid(5, SumMonoid(4696)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 983), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 23, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }, ItemSet { range: Range(982, 983), items: [982], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(982, 983), items: [], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 23, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 982], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (23, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 23, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981, 982} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 23, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 982, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 23, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(50, SumMonoid(23674)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(14, SumMonoid(1716)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(5, SumMonoid(105)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 23, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 23, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (23, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 23, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 23, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(49, SumMonoid(23651)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(48, SumMonoid(23231)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(12, SumMonoid(5055)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 395), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(395, 459), fp: EncodedCountingMonoid(4, SumMonoid(1698)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 395), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(395, 459), items: [404, 417], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(395, 459), items: [395, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 395), items: [], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 404, 417, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 395), items: [363, 368, 388], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 395, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 314, 343, 353, 358, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (404, true), (417, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 315, 341, 349, 363, 368, 388, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (395, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (314, true), (343, true), (353, true), (358, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 404, 417, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 315, 341, 349, 363, 368, 388, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 32, 395, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 314, 343, 353, 358, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(49, SumMonoid(23651)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(48, SumMonoid(23298)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(12, SumMonoid(5122)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1410)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(314, 358), items: [314, 343], want_response: true }, ItemSet { range: Range(358, 368), items: [358], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(314, 358), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(358, 368), items: [363], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 314, 343, 358, 395, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 315, 341, 349, 363, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (314, true), (343, true), (358, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 315, 341, 349, 363, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 314, 343, 358, 395, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(49, SumMonoid(23651)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(48, SumMonoid(23340)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 343), fp: EncodedCountingMonoid(13, SumMonoid(1696)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(12, SumMonoid(5161)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 165), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(165, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(343, 421), fp: EncodedCountingMonoid(5, SumMonoid(1869)) }, Fingerprint { range: Range(421, 465), fp: EncodedCountingMonoid(4, SumMonoid(1763)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 343), items: [287, 314], want_response: true }, ItemSet { range: Range(465, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(6, SumMonoid(892)) }, Fingerprint { range: Range(165, 255), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 421), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 343), items: [289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 519), items: [465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(421, 465), items: [459], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 314, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(421, 465), items: [421, 428, 454, 460], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }, ItemSet { range: Range(165, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 421), items: [395, 420], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 459, 562, 564, 574, 623], provide: [(287, true), (314, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 255), items: [165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 421), items: [388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 421, 428, 454, 460, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 343, 353, 358, 395, 420, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (459, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 349, 363, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (421, true), (428, true), (454, true), (460, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (343, true), (353, true), (358, true), (395, true), (420, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 459, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 349, 363, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 314, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 32, 421, 428, 454, 460, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 343, 353, 358, 395, 420, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(49, SumMonoid(23651)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(48, SumMonoid(23619)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 343), fp: EncodedCountingMonoid(13, SumMonoid(1975)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(12, SumMonoid(5161)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 52), fp: EncodedCountingMonoid(4, SumMonoid(93)) }, Fingerprint { range: Range(52, 165), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(165, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(287, 343), fp: EncodedCountingMonoid(3, SumMonoid(912)) }, Fingerprint { range: Range(343, 421), fp: EncodedCountingMonoid(5, SumMonoid(1869)) }, Fingerprint { range: Range(421, 465), fp: EncodedCountingMonoid(4, SumMonoid(1763)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(465, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 144), fp: EncodedCountingMonoid(6, SumMonoid(571)) }, Fingerprint { range: Range(144, 165), fp: EncodedCountingMonoid(5, SumMonoid(768)) }, Fingerprint { range: Range(165, 255), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(287, 309), fp: EncodedCountingMonoid(3, SumMonoid(885)) }, Fingerprint { range: Range(309, 343), fp: EncodedCountingMonoid(3, SumMonoid(965)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 421), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(465, 519), items: [465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 52), items: [20, 44], want_response: true }, ItemSet { range: Range(421, 465), items: [459], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 52), items: [6, 15, 29, 43], want_response: false }, ItemSet { range: Range(421, 465), items: [421, 428, 454, 460], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 144), items: [118], want_response: true }, ItemSet { range: Range(144, 165), items: [], want_response: true }, ItemSet { range: Range(165, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(287, 309), items: [287], want_response: true }, ItemSet { range: Range(309, 343), items: [311, 314], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 421), items: [395, 420], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 44, 459, 562, 564, 574, 623], provide: [(504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 144), items: [120, 124], want_response: false }, ItemSet { range: Range(144, 165), items: [144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 255), items: [165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(287, 309), items: [289, 290, 306], want_response: false }, ItemSet { range: Range(309, 343), items: [309, 315, 341], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 421), items: [388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 43, 421, 428, 454, 460, 558, 560, 563, 575, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 824, 835, 874, 973, 981], provide: [(465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (44, true), (459, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (43, true), (421, true), (428, true), (454, true), (460, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (287, true), (311, true), (314, true), (343, true), (353, true), (358, true), (395, true), (420, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 44, 459, 562, 564, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 43, 421, 428, 454, 460, 558, 560, 563, 575, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 20, 29, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 20, 29, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 20, 29, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 682, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 973, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(49, SumMonoid(23651)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 682), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }, Fingerprint { range: Range(682, 982), fp: EncodedCountingMonoid(11, SumMonoid(9209)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 682), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(682, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 682), items: [681], want_response: true }, ItemSet { range: Range(682, 798), items: [682, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 682), items: [], want_response: false }, ItemSet { range: Range(682, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (682, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 682, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 682, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(48, SumMonoid(22969)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(11, SumMonoid(6593)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(11, SumMonoid(9208)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(5, SumMonoid(4070)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(4, SumMonoid(3714)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(798, 824), fp: EncodedCountingMonoid(3, SumMonoid(2411)) }], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [973, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 824), items: [816], want_response: true }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 824), items: [], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (824, true), (835, true), (874, true), (973, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [802, 804, 805], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (798, true), (803, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(802, true), (804, true), (805, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 805, 824, 835, 874, 886, 973, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 798, 803, 816] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 824, 835, 874, 973, 981, 802, 804, 805] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 805, 824, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(47, SumMonoid(21996)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(11, SumMonoid(6593)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(10, SumMonoid(8235)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 835), fp: EncodedCountingMonoid(4, SumMonoid(3235)) }, Fingerprint { range: Range(835, 982), fp: EncodedCountingMonoid(4, SumMonoid(3576)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(835, 886), fp: EncodedCountingMonoid(5, SumMonoid(4326)) }, Fingerprint { range: Range(886, 982), fp: EncodedCountingMonoid(5, SumMonoid(4484)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 835), items: [816, 829], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 835), items: [824], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(835, 886), items: [835, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 798, 803, 816, 829], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(835, 886), items: [847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 802, 804, 805, 824, 43, 52, 87, 118, 205, 239, 269, 395, 835, 874, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true), (798, true), (803, true), (816, true), (829, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (802, true), (804, true), (805, true), (824, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 805, 824, 835, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 798, 803, 816, 829, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 802, 804, 805, 824, 43, 52, 87, 118, 205, 239, 269, 395, 835, 874, 981] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 805, 824, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(46, SumMonoid(21727)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 343), fp: EncodedCountingMonoid(13, SumMonoid(1738)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(12, SumMonoid(5161)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(11, SumMonoid(6593)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(10, SumMonoid(8235)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 165), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(165, 311), fp: EncodedCountingMonoid(3, SumMonoid(731)) }, Fingerprint { range: Range(343, 421), fp: EncodedCountingMonoid(5, SumMonoid(1869)) }, Fingerprint { range: Range(421, 465), fp: EncodedCountingMonoid(4, SumMonoid(1763)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 835), fp: EncodedCountingMonoid(4, SumMonoid(3235)) }, Fingerprint { range: Range(835, 982), fp: EncodedCountingMonoid(4, SumMonoid(3576)) }], item_sets: [ItemSet { range: Range(311, 343), items: [311, 314], want_response: true }, ItemSet { range: Range(465, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(6, SumMonoid(892)) }, Fingerprint { range: Range(165, 258), fp: EncodedCountingMonoid(5, SumMonoid(1095)) }, Fingerprint { range: Range(258, 311), fp: EncodedCountingMonoid(5, SumMonoid(1452)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 421), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }, Fingerprint { range: Range(835, 886), fp: EncodedCountingMonoid(5, SumMonoid(4326)) }, Fingerprint { range: Range(886, 982), fp: EncodedCountingMonoid(5, SumMonoid(4484)) }], item_sets: [ItemSet { range: Range(311, 343), items: [315, 341], want_response: false }, ItemSet { range: Range(465, 519), items: [465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(421, 465), items: [459], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 835), items: [816, 829], want_response: true }], wants: [311, 314, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(421, 465), items: [421, 428, 454, 460], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 835), items: [824], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }, ItemSet { range: Range(165, 258), items: [205, 239], want_response: true }, ItemSet { range: Range(258, 311), items: [287], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 421), items: [395, 420], want_response: true }, ItemSet { range: Range(835, 886), items: [835, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 459, 562, 564, 574, 623, 798, 803, 816, 829], provide: [(311, true), (314, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 258), items: [165, 195, 224, 255, 256], want_response: false }, ItemSet { range: Range(258, 311), items: [258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 421), items: [388, 404, 417], want_response: false }, ItemSet { range: Range(835, 886), items: [847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 421, 428, 454, 460, 558, 560, 563, 575, 579, 616, 627, 630, 802, 804, 805, 824, 43, 52, 87, 118, 205, 239, 287, 343, 353, 358, 395, 420, 835, 874, 981], provide: [(315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (459, true), (562, true), (564, true), (574, true), (623, true), (798, true), (803, true), (816, true), (829, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 349, 363, 368, 388, 404, 417, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (421, true), (428, true), (454, true), (460, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (802, true), (804, true), (805, true), (824, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (287, true), (343, true), (353, true), (358, true), (395, true), (420, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 805, 824, 835, 874, 886, 981} + [986, 995, 315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 459, 562, 564, 574, 623, 798, 803, 816, 829, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 349, 363, 368, 388, 404, 417, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [311, 314, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 421, 428, 454, 460, 558, 560, 563, 575, 579, 616, 627, 630, 802, 804, 805, 824, 43, 52, 87, 118, 205, 239, 287, 343, 353, 358, 395, 420, 835, 874, 981] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 805, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 805, 824, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(47, SumMonoid(21996)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(11, SumMonoid(6593)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(10, SumMonoid(8235)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 835), fp: EncodedCountingMonoid(4, SumMonoid(3235)) }, Fingerprint { range: Range(835, 982), fp: EncodedCountingMonoid(4, SumMonoid(3576)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(835, 886), fp: EncodedCountingMonoid(5, SumMonoid(4326)) }, Fingerprint { range: Range(886, 982), fp: EncodedCountingMonoid(5, SumMonoid(4484)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }, ItemSet { range: Range(798, 816), items: [798, 803], want_response: true }, ItemSet { range: Range(816, 835), items: [816, 829], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(798, 816), items: [802, 804, 805], want_response: false }, ItemSet { range: Range(816, 835), items: [824], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(835, 886), items: [835, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 798, 803, 816, 829], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(835, 886), items: [847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 802, 804, 805, 824, 43, 52, 87, 118, 205, 239, 269, 395, 835, 874, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true), (798, true), (803, true), (816, true), (829, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (802, true), (804, true), (805, true), (824, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 805, 824, 835, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 798, 803, 816, 829, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 802, 804, 805, 824, 43, 52, 87, 118, 205, 239, 269, 395, 835, 874, 981] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 824, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(46, SumMonoid(21191)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 674), fp: EncodedCountingMonoid(10, SumMonoid(5919)) }, Fingerprint { range: Range(674, 982), fp: EncodedCountingMonoid(10, SumMonoid(8104)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 674), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(674, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(4, SumMonoid(3265)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(3, SumMonoid(2741)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 674), items: [656], want_response: true }, ItemSet { range: Range(674, 743), items: [674, 681], want_response: true }, ItemSet { range: Range(743, 798), items: [743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 674), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(674, 743), items: [688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 798), items: [749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(798, 824), items: [802, 804], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(798, 824), items: [798, 803, 816], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 824, 835, 874, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (802, true), (804, true), (824, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 824, 835, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 824, 835, 874, 981] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 824, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(45, SumMonoid(20952)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 343), fp: EncodedCountingMonoid(13, SumMonoid(1768)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(12, SumMonoid(5161)) }, Fingerprint { range: Range(555, 674), fp: EncodedCountingMonoid(10, SumMonoid(5919)) }, Fingerprint { range: Range(674, 982), fp: EncodedCountingMonoid(10, SumMonoid(8104)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 674), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(674, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 165), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(165, 311), fp: EncodedCountingMonoid(3, SumMonoid(761)) }, Fingerprint { range: Range(343, 421), fp: EncodedCountingMonoid(5, SumMonoid(1869)) }, Fingerprint { range: Range(421, 465), fp: EncodedCountingMonoid(4, SumMonoid(1763)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(4, SumMonoid(3265)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(3, SumMonoid(2741)) }], item_sets: [ItemSet { range: Range(311, 343), items: [311, 314], want_response: true }, ItemSet { range: Range(465, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(645, 674), items: [656], want_response: true }, ItemSet { range: Range(674, 743), items: [674, 681], want_response: true }, ItemSet { range: Range(743, 798), items: [743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(6, SumMonoid(892)) }, Fingerprint { range: Range(165, 258), fp: EncodedCountingMonoid(5, SumMonoid(1095)) }, Fingerprint { range: Range(258, 311), fp: EncodedCountingMonoid(5, SumMonoid(1452)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 421), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(311, 343), items: [315, 341], want_response: false }, ItemSet { range: Range(465, 519), items: [465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 674), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(674, 743), items: [688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 798), items: [749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(421, 465), items: [459], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [311, 314, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(421, 465), items: [421, 428, 454, 460], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }, ItemSet { range: Range(165, 258), items: [205], want_response: true }, ItemSet { range: Range(258, 311), items: [269, 287], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 421), items: [395, 420], want_response: true }, ItemSet { range: Range(798, 824), items: [802, 804], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [981], want_response: true }], wants: [315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 459, 562, 564, 574, 623], provide: [(311, true), (314, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 258), items: [165, 195, 224, 255, 256], want_response: false }, ItemSet { range: Range(258, 311), items: [258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 421), items: [388, 404, 417], want_response: false }, ItemSet { range: Range(798, 824), items: [798, 803, 816], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 421, 428, 454, 460, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 269, 287, 343, 353, 358, 395, 420, 802, 804, 824, 835, 874, 981], provide: [(315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (459, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 349, 363, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (421, true), (428, true), (454, true), (460, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (269, true), (287, true), (343, true), (353, true), (358, true), (395, true), (420, true), (802, true), (804, true), (824, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 824, 835, 874, 886, 981} + [986, 995, 315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 459, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 349, 363, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [311, 314, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 421, 428, 454, 460, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 269, 287, 343, 353, 358, 395, 420, 802, 804, 824, 835, 874, 981] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 816, 824, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 824, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(46, SumMonoid(21191)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 674), fp: EncodedCountingMonoid(10, SumMonoid(5919)) }, Fingerprint { range: Range(674, 982), fp: EncodedCountingMonoid(10, SumMonoid(8104)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 674), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(674, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(4, SumMonoid(3265)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(3, SumMonoid(2741)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 674), items: [656], want_response: true }, ItemSet { range: Range(674, 743), items: [674, 681], want_response: true }, ItemSet { range: Range(743, 798), items: [743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 674), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(674, 743), items: [688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 798), items: [749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(798, 824), items: [802, 804], want_response: true }, ItemSet { range: Range(824, 847), items: [824, 835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(798, 824), items: [798, 803, 816], want_response: false }, ItemSet { range: Range(824, 847), items: [829], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 824, 835, 874, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (802, true), (804, true), (824, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 824, 835, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 824, 835, 874, 981] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(45, SumMonoid(20367)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 674), fp: EncodedCountingMonoid(10, SumMonoid(5919)) }, Fingerprint { range: Range(674, 982), fp: EncodedCountingMonoid(9, SumMonoid(7280)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 674), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(674, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(3, SumMonoid(2441)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(3, SumMonoid(2741)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 674), items: [656], want_response: true }, ItemSet { range: Range(674, 743), items: [674, 681], want_response: true }, ItemSet { range: Range(743, 798), items: [743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 674), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(674, 743), items: [688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 798), items: [749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(798, 835), items: [802, 804], want_response: true }, ItemSet { range: Range(835, 847), items: [835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(798, 835), items: [798, 803, 816, 829], want_response: false }, ItemSet { range: Range(835, 847), items: [], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 835, 874, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (802, true), (804, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 835, 874, 981] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(45, SumMonoid(20367)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 674), fp: EncodedCountingMonoid(10, SumMonoid(5919)) }, Fingerprint { range: Range(674, 982), fp: EncodedCountingMonoid(9, SumMonoid(7280)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 674), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(674, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(3, SumMonoid(2441)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(3, SumMonoid(2741)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 674), items: [656], want_response: true }, ItemSet { range: Range(674, 743), items: [674, 681], want_response: true }, ItemSet { range: Range(743, 798), items: [743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 674), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(674, 743), items: [688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 798), items: [749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(798, 835), items: [802, 804], want_response: true }, ItemSet { range: Range(835, 847), items: [835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(798, 835), items: [798, 803, 816, 829], want_response: false }, ItemSet { range: Range(835, 847), items: [], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 835, 874, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (802, true), (804, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 835, 874, 981] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 887), fp: EncodedCountingMonoid(44, SumMonoid(19386)) }], item_sets: [ItemSet { range: Range(887, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 512), fp: EncodedCountingMonoid(36, SumMonoid(9260)) }, Fingerprint { range: Range(512, 887), fp: EncodedCountingMonoid(35, SumMonoid(25440)) }], item_sets: [ItemSet { range: Range(887, 6), items: [889, 893, 907, 909, 986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 512), fp: EncodedCountingMonoid(12, SumMonoid(4956)) }, Fingerprint { range: Range(512, 656), fp: EncodedCountingMonoid(10, SumMonoid(5782)) }, Fingerprint { range: Range(656, 887), fp: EncodedCountingMonoid(9, SumMonoid(6955)) }], item_sets: [], wants: [889, 893, 907, 909, 986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 512), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }, Fingerprint { range: Range(512, 574), fp: EncodedCountingMonoid(5, SumMonoid(2745)) }, Fingerprint { range: Range(574, 656), fp: EncodedCountingMonoid(4, SumMonoid(2489)) }, Fingerprint { range: Range(656, 781), fp: EncodedCountingMonoid(13, SumMonoid(9392)) }, Fingerprint { range: Range(781, 887), fp: EncodedCountingMonoid(13, SumMonoid(10814)) }], item_sets: [], wants: [], provide: [(889, true), (893, true), (907, true), (909, true), (986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }, Fingerprint { range: Range(417, 460), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(460, 512), fp: EncodedCountingMonoid(3, SumMonoid(1470)) }, Fingerprint { range: Range(512, 560), fp: EncodedCountingMonoid(3, SumMonoid(1632)) }, Fingerprint { range: Range(574, 627), fp: EncodedCountingMonoid(3, SumMonoid(1770)) }, Fingerprint { range: Range(781, 874), fp: EncodedCountingMonoid(3, SumMonoid(2441)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(358, 417), items: [358, 395], want_response: true }, ItemSet { range: Range(560, 574), items: [560, 563], want_response: true }, ItemSet { range: Range(627, 656), items: [627, 630], want_response: true }, ItemSet { range: Range(656, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 781), items: [681, 743], want_response: true }, ItemSet { range: Range(874, 887), items: [874, 886], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(781, 816), fp: EncodedCountingMonoid(5, SumMonoid(3957)) }, Fingerprint { range: Range(816, 874), fp: EncodedCountingMonoid(5, SumMonoid(4211)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(358, 417), items: [363, 368, 388, 404], want_response: false }, ItemSet { range: Range(560, 574), items: [562, 564], want_response: false }, ItemSet { range: Range(627, 656), items: [645, 647], want_response: false }, ItemSet { range: Range(656, 681), items: [664, 666], want_response: false }, ItemSet { range: Range(681, 781), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767], want_response: false }, ItemSet { range: Range(874, 887), items: [876, 884, 886], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(417, 460), items: [417, 459], want_response: true }, ItemSet { range: Range(460, 479), items: [465, 478], want_response: true }, ItemSet { range: Range(479, 512), items: [479, 484], want_response: true }, ItemSet { range: Range(512, 555), items: [512, 552], want_response: true }, ItemSet { range: Range(555, 560), items: [555], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [287, 311, 358, 395, 560, 563, 627, 630, 656, 674, 681, 743, 874], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(417, 460), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(460, 479), items: [460], want_response: false }, ItemSet { range: Range(479, 512), items: [504, 506], want_response: false }, ItemSet { range: Range(512, 555), items: [519], want_response: false }, ItemSet { range: Range(555, 560), items: [555, 558], want_response: false }, ItemSet { range: Range(574, 627), items: [575, 579, 616], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(781, 816), items: [802, 804], want_response: true }, ItemSet { range: Range(816, 874), items: [835], want_response: true }], wants: [289, 290, 306, 309, 363, 368, 388, 404, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 876, 884, 20, 315, 341, 349, 417, 459, 465, 478, 479, 484, 512, 552, 574, 623], provide: [(287, true), (311, true), (358, true), (395, true), (560, true), (563, true), (627, true), (630, true), (656, true), (674, true), (681, true), (743, true), (874, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(781, 816), items: [781, 787, 788, 798, 803], want_response: false }, ItemSet { range: Range(816, 874), items: [816, 829, 847, 849, 870], want_response: false }], wants: [6, 15, 29, 32, 314, 343, 353, 420, 421, 428, 454, 460, 504, 506, 519, 558, 575, 579, 616, 43, 52, 87, 118, 205, 239, 269, 802, 804, 835], provide: [(289, true), (290, true), (306, true), (309, true), (363, true), (368, true), (388, true), (404, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (876, true), (884, true), (20, true), (315, true), (341, true), (349, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870], provide: [(6, true), (15, true), (29, true), (32, true), (314, true), (343, true), (353, true), (420, true), (421, true), (428, true), (454, true), (460, true), (504, true), (506, true), (519, true), (558, true), (575, true), (579, true), (616, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (802, true), (804, true), (835, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886} + [889, 893, 907, 909, 986, 995, 289, 290, 306, 309, 363, 368, 388, 404, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 876, 884, 20, 315, 341, 349, 417, 459, 465, 478, 479, 484, 512, 552, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 358, 395, 560, 563, 627, 630, 656, 674, 681, 743, 874, 6, 15, 29, 32, 314, 343, 353, 420, 421, 428, 454, 460, 504, 506, 519, 558, 575, 579, 616, 43, 52, 87, 118, 205, 239, 269, 802, 804, 835] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 816, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 816, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 395, 404, 417, 420, 421, 428, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 560, 562, 563, 564, 574, 575, 579, 616, 623, 627, 630, 645, 647, 656, 664, 666, 674, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 804, 816, 829, 835, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(45, SumMonoid(20367)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(13, SumMonoid(5475)) }, Fingerprint { range: Range(555, 674), fp: EncodedCountingMonoid(10, SumMonoid(5919)) }, Fingerprint { range: Range(674, 982), fp: EncodedCountingMonoid(9, SumMonoid(7280)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 674), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(674, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(5, SumMonoid(1763)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(3, SumMonoid(2441)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(3, SumMonoid(2741)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 674), items: [656], want_response: true }, ItemSet { range: Range(674, 743), items: [674, 681], want_response: true }, ItemSet { range: Range(743, 798), items: [743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 674), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(674, 743), items: [688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 798), items: [749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [395], want_response: true }, ItemSet { range: Range(798, 835), items: [802, 804], want_response: true }, ItemSet { range: Range(835, 847), items: [835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(798, 835), items: [798, 803, 816, 829], want_response: false }, ItemSet { range: Range(835, 847), items: [], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 835, 874, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (395, true), (802, true), (804, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 395, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 395, 802, 804, 835, 874, 981] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(44, SumMonoid(19972)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(12, SumMonoid(5080)) }, Fingerprint { range: Range(555, 674), fp: EncodedCountingMonoid(10, SumMonoid(5919)) }, Fingerprint { range: Range(674, 982), fp: EncodedCountingMonoid(9, SumMonoid(7280)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 674), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(674, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 579), fp: EncodedCountingMonoid(5, SumMonoid(2811)) }, Fingerprint { range: Range(579, 645), fp: EncodedCountingMonoid(4, SumMonoid(2452)) }, Fingerprint { range: Range(798, 874), fp: EncodedCountingMonoid(3, SumMonoid(2441)) }, Fingerprint { range: Range(874, 982), fp: EncodedCountingMonoid(3, SumMonoid(2741)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 674), items: [656], want_response: true }, ItemSet { range: Range(674, 743), items: [674, 681], want_response: true }, ItemSet { range: Range(743, 798), items: [743], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(798, 847), fp: EncodedCountingMonoid(4, SumMonoid(3246)) }, Fingerprint { range: Range(847, 874), fp: EncodedCountingMonoid(3, SumMonoid(2566)) }, Fingerprint { range: Range(874, 893), fp: EncodedCountingMonoid(4, SumMonoid(3535)) }, Fingerprint { range: Range(893, 982), fp: EncodedCountingMonoid(3, SumMonoid(2709)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 674), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(674, 743), items: [688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 798), items: [749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 579), items: [564, 574], want_response: true }, ItemSet { range: Range(579, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 656, 674, 681, 743], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 579), items: [575], want_response: false }, ItemSet { range: Range(579, 645), items: [579, 616, 627, 630], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(798, 835), items: [802, 804], want_response: true }, ItemSet { range: Range(835, 847), items: [835], want_response: true }, ItemSet { range: Range(847, 874), items: [], want_response: true }, ItemSet { range: Range(874, 893), items: [874, 886], want_response: true }, ItemSet { range: Range(893, 982), items: [981], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (656, true), (674, true), (681, true), (743, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(798, 835), items: [798, 803, 816, 829], want_response: false }, ItemSet { range: Range(835, 847), items: [], want_response: false }, ItemSet { range: Range(847, 874), items: [847, 849, 870], want_response: false }, ItemSet { range: Range(874, 893), items: [876, 884, 886, 889], want_response: false }, ItemSet { range: Range(893, 982), items: [893, 907, 909], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 802, 804, 835, 874, 981], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (20, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (627, true), (630, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (802, true), (804, true), (835, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 835, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 20, 562, 564, 574, 623, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 656, 674, 681, 743, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 627, 630, 43, 52, 87, 118, 205, 239, 269, 802, 804, 835, 874, 981] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 982), fp: EncodedCountingMonoid(43, SumMonoid(19137)) }], item_sets: [ItemSet { range: Range(982, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 6), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 314), fp: EncodedCountingMonoid(13, SumMonoid(1693)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(12, SumMonoid(5080)) }, Fingerprint { range: Range(555, 656), fp: EncodedCountingMonoid(9, SumMonoid(5263)) }, Fingerprint { range: Range(656, 982), fp: EncodedCountingMonoid(9, SumMonoid(7101)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 623), fp: EncodedCountingMonoid(4, SumMonoid(2255)) }, Fingerprint { range: Range(623, 656), fp: EncodedCountingMonoid(3, SumMonoid(1915)) }, Fingerprint { range: Range(656, 788), fp: EncodedCountingMonoid(15, SumMonoid(10960)) }, Fingerprint { range: Range(788, 982), fp: EncodedCountingMonoid(15, SumMonoid(12844)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 43), fp: EncodedCountingMonoid(4, SumMonoid(82)) }, Fingerprint { range: Range(43, 164), fp: EncodedCountingMonoid(4, SumMonoid(300)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 575), fp: EncodedCountingMonoid(4, SumMonoid(2236)) }, Fingerprint { range: Range(575, 623), fp: EncodedCountingMonoid(3, SumMonoid(1770)) }, Fingerprint { range: Range(788, 886), fp: EncodedCountingMonoid(3, SumMonoid(2480)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(623, 656), items: [627, 630], want_response: true }, ItemSet { range: Range(656, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 788), items: [681, 743], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 124), fp: EncodedCountingMonoid(6, SumMonoid(491)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(788, 847), fp: EncodedCountingMonoid(5, SumMonoid(4034)) }, Fingerprint { range: Range(847, 886), fp: EncodedCountingMonoid(5, SumMonoid(4326)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(623, 656), items: [623, 645, 647], want_response: false }, ItemSet { range: Range(656, 681), items: [664, 666], want_response: false }, ItemSet { range: Range(681, 788), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(6, 43), items: [20], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 575), items: [564, 574], want_response: true }, ItemSet { range: Range(575, 623), items: [], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 656, 674, 681, 743, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 43), items: [6, 15, 29, 32], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 575), items: [], want_response: false }, ItemSet { range: Range(575, 623), items: [575, 579, 616], want_response: false }, ItemSet { range: Range(43, 87), items: [43, 52], want_response: true }, ItemSet { range: Range(87, 124), items: [87, 118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(788, 847), items: [802, 804], want_response: true }, ItemSet { range: Range(847, 886), items: [874], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 889, 893, 907, 909, 20, 562, 564, 574], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (656, true), (674, true), (681, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(43, 87), items: [44, 54, 84], want_response: false }, ItemSet { range: Range(87, 124), items: [94, 95, 120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(788, 847), items: [788, 798, 803, 816, 829], want_response: false }, ItemSet { range: Range(847, 886), items: [847, 849, 870, 876, 884], want_response: false }], wants: [6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 43, 52, 87, 118, 205, 239, 269, 802, 804, 874], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (889, true), (893, true), (907, true), (909, true), (20, true), (562, true), (564, true), (574, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884], provide: [(6, true), (15, true), (29, true), (32, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (43, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (802, true), (804, true), (874, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 889, 893, 907, 909, 20, 562, 564, 574, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 656, 674, 681, 743, 981, 6, 15, 29, 32, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 43, 52, 87, 118, 205, 239, 269, 802, 804, 874] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 982), fp: EncodedCountingMonoid(42, SumMonoid(19131)) }], item_sets: [ItemSet { range: Range(982, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 15), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 314), fp: EncodedCountingMonoid(12, SumMonoid(1687)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(12, SumMonoid(5080)) }, Fingerprint { range: Range(555, 656), fp: EncodedCountingMonoid(9, SumMonoid(5263)) }, Fingerprint { range: Range(656, 982), fp: EncodedCountingMonoid(9, SumMonoid(7101)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 623), fp: EncodedCountingMonoid(4, SumMonoid(2255)) }, Fingerprint { range: Range(623, 656), fp: EncodedCountingMonoid(3, SumMonoid(1915)) }, Fingerprint { range: Range(656, 788), fp: EncodedCountingMonoid(15, SumMonoid(10960)) }, Fingerprint { range: Range(788, 982), fp: EncodedCountingMonoid(15, SumMonoid(12844)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 52), fp: EncodedCountingMonoid(4, SumMonoid(119)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 575), fp: EncodedCountingMonoid(4, SumMonoid(2236)) }, Fingerprint { range: Range(575, 623), fp: EncodedCountingMonoid(3, SumMonoid(1770)) }, Fingerprint { range: Range(788, 886), fp: EncodedCountingMonoid(3, SumMonoid(2480)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(623, 656), items: [627, 630], want_response: true }, ItemSet { range: Range(656, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 788), items: [681, 743], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(788, 847), fp: EncodedCountingMonoid(5, SumMonoid(4034)) }, Fingerprint { range: Range(847, 886), fp: EncodedCountingMonoid(5, SumMonoid(4326)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(623, 656), items: [623, 645, 647], want_response: false }, ItemSet { range: Range(656, 681), items: [664, 666], want_response: false }, ItemSet { range: Range(681, 788), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(15, 52), items: [20, 44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 575), items: [564, 574], want_response: true }, ItemSet { range: Range(575, 623), items: [], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 656, 674, 681, 743, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 52), items: [15, 29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 575), items: [], want_response: false }, ItemSet { range: Range(575, 623), items: [575, 579, 616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(788, 847), items: [802, 804], want_response: true }, ItemSet { range: Range(847, 886), items: [874], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 889, 893, 907, 909, 20, 44, 562, 564, 574], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (656, true), (674, true), (681, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(788, 847), items: [788, 798, 803, 816, 829], want_response: false }, ItemSet { range: Range(847, 886), items: [847, 849, 870, 876, 884], want_response: false }], wants: [15, 29, 32, 43, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 52, 87, 118, 205, 239, 269, 802, 804, 874], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (889, true), (893, true), (907, true), (909, true), (20, true), (44, true), (562, true), (564, true), (574, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884], provide: [(15, true), (29, true), (32, true), (43, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (802, true), (804, true), (874, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 804, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 889, 893, 907, 909, 20, 44, 562, 564, 574, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 656, 674, 681, 743, 981, 15, 29, 32, 43, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 52, 87, 118, 205, 239, 269, 802, 804, 874] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 982), fp: EncodedCountingMonoid(41, SumMonoid(18327)) }], item_sets: [ItemSet { range: Range(982, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 15), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 314), fp: EncodedCountingMonoid(12, SumMonoid(1687)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(12, SumMonoid(5080)) }, Fingerprint { range: Range(555, 656), fp: EncodedCountingMonoid(9, SumMonoid(5263)) }, Fingerprint { range: Range(656, 982), fp: EncodedCountingMonoid(8, SumMonoid(6297)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 623), fp: EncodedCountingMonoid(4, SumMonoid(2255)) }, Fingerprint { range: Range(623, 656), fp: EncodedCountingMonoid(3, SumMonoid(1915)) }, Fingerprint { range: Range(656, 788), fp: EncodedCountingMonoid(15, SumMonoid(10960)) }, Fingerprint { range: Range(788, 982), fp: EncodedCountingMonoid(15, SumMonoid(12844)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 52), fp: EncodedCountingMonoid(4, SumMonoid(119)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 575), fp: EncodedCountingMonoid(4, SumMonoid(2236)) }, Fingerprint { range: Range(575, 623), fp: EncodedCountingMonoid(3, SumMonoid(1770)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(623, 656), items: [627, 630], want_response: true }, ItemSet { range: Range(656, 681), items: [656, 674], want_response: true }, ItemSet { range: Range(681, 788), items: [681, 743], want_response: true }, ItemSet { range: Range(788, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(623, 656), items: [623, 645, 647], want_response: false }, ItemSet { range: Range(656, 681), items: [664, 666], want_response: false }, ItemSet { range: Range(681, 788), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787], want_response: false }, ItemSet { range: Range(788, 886), items: [788, 798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(15, 52), items: [20, 44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 575), items: [564, 574], want_response: true }, ItemSet { range: Range(575, 623), items: [], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 656, 674, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 52), items: [15, 29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560, 563], want_response: false }, ItemSet { range: Range(564, 575), items: [], want_response: false }, ItemSet { range: Range(575, 623), items: [575, 579, 616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 20, 44, 562, 564, 574], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (656, true), (674, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [15, 29, 32, 43, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (20, true), (44, true), (562, true), (564, true), (574, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(15, true), (29, true), (32, true), (43, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (563, true), (575, true), (579, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 674, 681, 743, 802, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 20, 44, 562, 564, 574, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 656, 674, 681, 743, 802, 874, 981, 15, 29, 32, 43, 420, 421, 428, 454, 558, 560, 563, 575, 579, 616, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 982), fp: EncodedCountingMonoid(40, SumMonoid(17653)) }], item_sets: [ItemSet { range: Range(982, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 15), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 314), fp: EncodedCountingMonoid(12, SumMonoid(1687)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(12, SumMonoid(5080)) }, Fingerprint { range: Range(555, 630), fp: EncodedCountingMonoid(8, SumMonoid(4633)) }, Fingerprint { range: Range(630, 982), fp: EncodedCountingMonoid(8, SumMonoid(6253)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }, Fingerprint { range: Range(630, 787), fp: EncodedCountingMonoid(16, SumMonoid(11465)) }, Fingerprint { range: Range(787, 982), fp: EncodedCountingMonoid(16, SumMonoid(13631)) }], item_sets: [ItemSet { range: Range(574, 630), items: [574, 623], want_response: true }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 52), fp: EncodedCountingMonoid(4, SumMonoid(119)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(574, 630), items: [575, 579, 616, 627], want_response: false }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(555, 560), items: [555, 558], want_response: true }, ItemSet { range: Range(560, 574), items: [560, 563], want_response: true }, ItemSet { range: Range(630, 681), items: [630, 656], want_response: true }, ItemSet { range: Range(681, 787), items: [681, 743], want_response: true }, ItemSet { range: Range(787, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [574, 623], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(555, 560), items: [555], want_response: false }, ItemSet { range: Range(560, 574), items: [562, 564], want_response: false }, ItemSet { range: Range(630, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 787), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781], want_response: false }, ItemSet { range: Range(787, 886), items: [787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(15, 52), items: [20, 44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [575, 579, 616, 627, 287, 311, 460, 504, 506, 519, 558, 560, 563, 630, 656, 681, 743, 802, 874, 981], provide: [(574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 52), items: [15, 29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 20, 44], provide: [(575, true), (579, true), (616, true), (627, true), (287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (558, true), (560, true), (563, true), (630, true), (656, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [15, 29, 32, 43, 420, 421, 428, 454, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (20, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(15, true), (29, true), (32, true), (43, true), (420, true), (421, true), (428, true), (454, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 563, 575, 579, 616, 627, 630, 656, 681, 743, 802, 874, 886, 981} + [986, 995, 574, 623, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [575, 579, 616, 627, 287, 311, 460, 504, 506, 519, 558, 560, 563, 630, 656, 681, 743, 802, 874, 981, 15, 29, 32, 43, 420, 421, 428, 454, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 575, 579, 616, 627, 630, 656, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 982), fp: EncodedCountingMonoid(39, SumMonoid(17090)) }], item_sets: [ItemSet { range: Range(982, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 15), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 314), fp: EncodedCountingMonoid(12, SumMonoid(1687)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(12, SumMonoid(5080)) }, Fingerprint { range: Range(555, 656), fp: EncodedCountingMonoid(8, SumMonoid(4700)) }, Fingerprint { range: Range(656, 982), fp: EncodedCountingMonoid(7, SumMonoid(5623)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 623), fp: EncodedCountingMonoid(4, SumMonoid(2255)) }, Fingerprint { range: Range(623, 656), fp: EncodedCountingMonoid(3, SumMonoid(1915)) }, Fingerprint { range: Range(656, 788), fp: EncodedCountingMonoid(15, SumMonoid(10960)) }, Fingerprint { range: Range(788, 982), fp: EncodedCountingMonoid(15, SumMonoid(12844)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 52), fp: EncodedCountingMonoid(4, SumMonoid(119)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(555, 575), fp: EncodedCountingMonoid(3, SumMonoid(1673)) }, Fingerprint { range: Range(575, 623), fp: EncodedCountingMonoid(3, SumMonoid(1770)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(623, 656), items: [627, 630], want_response: true }, ItemSet { range: Range(656, 743), items: [656, 681], want_response: true }, ItemSet { range: Range(743, 788), items: [743], want_response: true }, ItemSet { range: Range(788, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(623, 656), items: [623, 645, 647], want_response: false }, ItemSet { range: Range(656, 743), items: [664, 666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 788), items: [749, 759, 764, 766, 767, 781, 787], want_response: false }, ItemSet { range: Range(788, 886), items: [788, 798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(15, 52), items: [20, 44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 575), items: [564, 574], want_response: true }, ItemSet { range: Range(575, 623), items: [], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 656, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 52), items: [15, 29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 428, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560], want_response: false }, ItemSet { range: Range(564, 575), items: [], want_response: false }, ItemSet { range: Range(575, 623), items: [575, 579, 616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 20, 44, 562, 564, 574], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (656, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [15, 29, 32, 43, 420, 421, 428, 454, 558, 560, 575, 579, 616, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (20, true), (44, true), (562, true), (564, true), (574, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(15, true), (29, true), (32, true), (43, true), (420, true), (421, true), (428, true), (454, true), (558, true), (560, true), (575, true), (579, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 428, 454, 460, 504, 506, 519, 555, 558, 560, 575, 579, 616, 627, 630, 656, 681, 743, 802, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 20, 44, 562, 564, 574, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 656, 681, 743, 802, 874, 981, 15, 29, 32, 43, 420, 421, 428, 454, 558, 560, 575, 579, 616, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 560, 575, 579, 616, 627, 630, 656, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 982), fp: EncodedCountingMonoid(38, SumMonoid(16662)) }], item_sets: [ItemSet { range: Range(982, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 15), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 314), fp: EncodedCountingMonoid(12, SumMonoid(1687)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 656), fp: EncodedCountingMonoid(8, SumMonoid(4700)) }, Fingerprint { range: Range(656, 982), fp: EncodedCountingMonoid(7, SumMonoid(5623)) }], item_sets: [], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 623), fp: EncodedCountingMonoid(4, SumMonoid(2255)) }, Fingerprint { range: Range(623, 656), fp: EncodedCountingMonoid(3, SumMonoid(1915)) }, Fingerprint { range: Range(656, 788), fp: EncodedCountingMonoid(15, SumMonoid(10960)) }, Fingerprint { range: Range(788, 982), fp: EncodedCountingMonoid(15, SumMonoid(12844)) }], item_sets: [], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 52), fp: EncodedCountingMonoid(4, SumMonoid(119)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 575), fp: EncodedCountingMonoid(3, SumMonoid(1673)) }, Fingerprint { range: Range(575, 623), fp: EncodedCountingMonoid(3, SumMonoid(1770)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(623, 656), items: [627, 630], want_response: true }, ItemSet { range: Range(656, 743), items: [656, 681], want_response: true }, ItemSet { range: Range(743, 788), items: [743], want_response: true }, ItemSet { range: Range(788, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(623, 656), items: [623, 645, 647], want_response: false }, ItemSet { range: Range(656, 743), items: [664, 666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 788), items: [749, 759, 764, 766, 767, 781, 787], want_response: false }, ItemSet { range: Range(788, 886), items: [788, 798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(15, 52), items: [20, 44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 575), items: [564, 574], want_response: true }, ItemSet { range: Range(575, 623), items: [], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 656, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 52), items: [15, 29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560], want_response: false }, ItemSet { range: Range(564, 575), items: [], want_response: false }, ItemSet { range: Range(575, 623), items: [575, 579, 616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 20, 44, 562, 564, 574], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (656, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [15, 29, 32, 43, 420, 421, 454, 558, 560, 575, 579, 616, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (20, true), (44, true), (562, true), (564, true), (574, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(15, true), (29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (558, true), (560, true), (575, true), (579, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 560, 575, 579, 616, 627, 630, 656, 681, 743, 802, 874, 886, 981} + [986, 995, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 20, 44, 562, 564, 574, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 656, 681, 743, 802, 874, 981, 15, 29, 32, 43, 420, 421, 454, 558, 560, 575, 579, 616, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 560, 575, 579, 616, 627, 630, 656, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(37, SumMonoid(16647)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 656), fp: EncodedCountingMonoid(8, SumMonoid(4700)) }, Fingerprint { range: Range(656, 982), fp: EncodedCountingMonoid(7, SumMonoid(5623)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 623), fp: EncodedCountingMonoid(4, SumMonoid(2255)) }, Fingerprint { range: Range(623, 656), fp: EncodedCountingMonoid(3, SumMonoid(1915)) }, Fingerprint { range: Range(656, 788), fp: EncodedCountingMonoid(15, SumMonoid(10960)) }, Fingerprint { range: Range(788, 982), fp: EncodedCountingMonoid(15, SumMonoid(12844)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 575), fp: EncodedCountingMonoid(3, SumMonoid(1673)) }, Fingerprint { range: Range(575, 623), fp: EncodedCountingMonoid(3, SumMonoid(1770)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(623, 656), items: [627, 630], want_response: true }, ItemSet { range: Range(656, 743), items: [656, 681], want_response: true }, ItemSet { range: Range(743, 788), items: [743], want_response: true }, ItemSet { range: Range(788, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(623, 656), items: [623, 645, 647], want_response: false }, ItemSet { range: Range(656, 743), items: [664, 666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 788), items: [749, 759, 764, 766, 767, 781, 787], want_response: false }, ItemSet { range: Range(788, 886), items: [788, 798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 575), items: [564, 574], want_response: true }, ItemSet { range: Range(575, 623), items: [], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 656, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558, 560], want_response: false }, ItemSet { range: Range(564, 575), items: [], want_response: false }, ItemSet { range: Range(575, 623), items: [575, 579, 616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 562, 564, 574], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (656, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 558, 560, 575, 579, 616, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (562, true), (564, true), (574, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (558, true), (560, true), (575, true), (579, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 560, 575, 579, 616, 627, 630, 656, 681, 743, 802, 874, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 562, 564, 574, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 656, 681, 743, 802, 874, 981, 29, 32, 43, 420, 421, 454, 558, 560, 575, 579, 616, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 560, 575, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(36, SumMonoid(15991)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 630), fp: EncodedCountingMonoid(7, SumMonoid(4070)) }, Fingerprint { range: Range(630, 982), fp: EncodedCountingMonoid(7, SumMonoid(5597)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }, Fingerprint { range: Range(630, 787), fp: EncodedCountingMonoid(16, SumMonoid(11465)) }, Fingerprint { range: Range(787, 982), fp: EncodedCountingMonoid(16, SumMonoid(13631)) }], item_sets: [ItemSet { range: Range(574, 630), items: [574, 623], want_response: true }], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(574, 630), items: [575, 579, 616, 627], want_response: false }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(555, 560), items: [555, 558], want_response: true }, ItemSet { range: Range(560, 574), items: [560], want_response: true }, ItemSet { range: Range(630, 743), items: [630, 681], want_response: true }, ItemSet { range: Range(743, 787), items: [743], want_response: true }, ItemSet { range: Range(787, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [574, 623], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(555, 560), items: [555], want_response: false }, ItemSet { range: Range(560, 574), items: [562, 564], want_response: false }, ItemSet { range: Range(630, 743), items: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 787), items: [749, 759, 764, 766, 767, 781], want_response: false }, ItemSet { range: Range(787, 886), items: [787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [575, 579, 616, 627, 287, 311, 460, 504, 506, 519, 558, 560, 630, 681, 743, 802, 874, 981], provide: [(574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44], provide: [(575, true), (579, true), (616, true), (627, true), (287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (558, true), (560, true), (630, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 560, 575, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} + [986, 995, 20, 574, 623, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [575, 579, 616, 627, 287, 311, 460, 504, 506, 519, 558, 560, 630, 681, 743, 802, 874, 981, 29, 32, 43, 420, 421, 454, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 575, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(35, SumMonoid(15431)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(7, SumMonoid(4140)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(6, SumMonoid(4967)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 616), fp: EncodedCountingMonoid(4, SumMonoid(2267)) }, Fingerprint { range: Range(616, 645), fp: EncodedCountingMonoid(3, SumMonoid(1873)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 886), items: [798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 616), items: [564, 574], want_response: true }, ItemSet { range: Range(616, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558], want_response: false }, ItemSet { range: Range(564, 616), items: [575, 579], want_response: false }, ItemSet { range: Range(616, 645), items: [616, 627, 630], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 558, 575, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (558, true), (575, true), (579, true), (616, true), (627, true), (630, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 575, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 562, 564, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 681, 743, 802, 874, 981, 29, 32, 43, 420, 421, 454, 558, 575, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(34, SumMonoid(14856)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(6, SumMonoid(3565)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(6, SumMonoid(4967)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 616), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }, Fingerprint { range: Range(616, 645), fp: EncodedCountingMonoid(3, SumMonoid(1873)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 886), items: [798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 616), items: [564, 574], want_response: true }, ItemSet { range: Range(616, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558], want_response: false }, ItemSet { range: Range(564, 616), items: [579], want_response: false }, ItemSet { range: Range(616, 645), items: [616, 627, 630], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 558, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (558, true), (579, true), (616, true), (627, true), (630, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 562, 564, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 681, 743, 802, 874, 981, 29, 32, 43, 420, 421, 454, 558, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(33, SumMonoid(14569)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 343), fp: EncodedCountingMonoid(11, SumMonoid(1699)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(10, SumMonoid(4338)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(6, SumMonoid(3565)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(6, SumMonoid(4967)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 165), fp: EncodedCountingMonoid(12, SumMonoid(1383)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 165), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(165, 311), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(343, 421), fp: EncodedCountingMonoid(4, SumMonoid(1474)) }, Fingerprint { range: Range(421, 465), fp: EncodedCountingMonoid(3, SumMonoid(1335)) }, Fingerprint { range: Range(555, 616), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }, Fingerprint { range: Range(616, 645), fp: EncodedCountingMonoid(3, SumMonoid(1873)) }], item_sets: [ItemSet { range: Range(311, 343), items: [311, 314], want_response: true }, ItemSet { range: Range(465, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 144), fp: EncodedCountingMonoid(6, SumMonoid(571)) }, Fingerprint { range: Range(144, 165), fp: EncodedCountingMonoid(5, SumMonoid(768)) }, Fingerprint { range: Range(165, 258), fp: EncodedCountingMonoid(5, SumMonoid(1095)) }, Fingerprint { range: Range(258, 311), fp: EncodedCountingMonoid(5, SumMonoid(1452)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 421), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }], item_sets: [ItemSet { range: Range(311, 343), items: [315, 341], want_response: false }, ItemSet { range: Range(465, 519), items: [465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 886), items: [798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(421, 465), items: [459], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 616), items: [564, 574], want_response: true }, ItemSet { range: Range(616, 645), items: [623], want_response: true }], wants: [311, 314, 504, 506, 519, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(421, 465), items: [421, 454, 460], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558], want_response: false }, ItemSet { range: Range(564, 616), items: [579], want_response: false }, ItemSet { range: Range(616, 645), items: [616, 627, 630], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 144), items: [118], want_response: true }, ItemSet { range: Range(144, 165), items: [], want_response: true }, ItemSet { range: Range(165, 258), items: [205, 239], want_response: true }, ItemSet { range: Range(258, 311), items: [269], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 421), items: [420], want_response: true }], wants: [315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 459, 562, 564, 574, 623], provide: [(311, true), (314, true), (504, true), (506, true), (519, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 144), items: [120, 124], want_response: false }, ItemSet { range: Range(144, 165), items: [144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 258), items: [165, 195, 224, 255, 256], want_response: false }, ItemSet { range: Range(258, 311), items: [258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 421), items: [388, 404, 417], want_response: false }], wants: [29, 32, 43, 421, 454, 460, 558, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269, 343, 353, 358, 420], provide: [(315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (459, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 349, 363, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (421, true), (454, true), (460, true), (558, true), (579, true), (616, true), (627, true), (630, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (343, true), (353, true), (358, true), (420, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} + [986, 995, 20, 315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 459, 562, 564, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 349, 363, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [311, 314, 504, 506, 519, 681, 743, 802, 874, 981, 29, 32, 43, 421, 454, 460, 558, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269, 343, 353, 358, 420] [INFO] [stdout] [INFO] [stdout] all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 579, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 579, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 579, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 874, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(34, SumMonoid(14856)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(6, SumMonoid(3565)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(6, SumMonoid(4967)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 616), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }, Fingerprint { range: Range(616, 645), fp: EncodedCountingMonoid(3, SumMonoid(1873)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 886), items: [802, 874], want_response: true }, ItemSet { range: Range(886, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 886), items: [798, 803, 816, 829, 847, 849, 870, 876, 884], want_response: false }, ItemSet { range: Range(886, 982), items: [886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(555, 564), items: [555, 562], want_response: true }, ItemSet { range: Range(564, 616), items: [564, 574], want_response: true }, ItemSet { range: Range(616, 645), items: [623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(555, 564), items: [555, 558], want_response: false }, ItemSet { range: Range(564, 616), items: [579], want_response: false }, ItemSet { range: Range(616, 645), items: [616, 627, 630], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 562, 564, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 558, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (562, true), (564, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (558, true), (579, true), (616, true), (627, true), (630, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 579, 616, 627, 630, 681, 743, 802, 874, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 562, 564, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 681, 743, 802, 874, 981, 29, 32, 43, 420, 421, 454, 558, 579, 616, 627, 630, 52, 87, 118, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 874, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(33, SumMonoid(14277)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(6, SumMonoid(3667)) }, Fingerprint { range: Range(743, 982), fp: EncodedCountingMonoid(5, SumMonoid(4286)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }, Fingerprint { range: Range(743, 829), fp: EncodedCountingMonoid(11, SumMonoid(8578)) }, Fingerprint { range: Range(829, 982), fp: EncodedCountingMonoid(11, SumMonoid(9639)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(627, 666), items: [627, 630], want_response: true }, ItemSet { range: Range(666, 743), items: [681], want_response: true }, ItemSet { range: Range(743, 829), items: [743, 802], want_response: true }, ItemSet { range: Range(829, 981), items: [874, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(627, 666), items: [645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 829), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816], want_response: false }, ItemSet { range: Range(829, 981), items: [829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 681, 743, 802, 874, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (874, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 52, 87, 118, 205, 239, 269, 558], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 874, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 681, 743, 802, 874, 981, 29, 32, 43, 420, 421, 454, 616, 52, 87, 118, 205, 239, 269, 558] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(32, SumMonoid(13403)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(5, SumMonoid(4093)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 630], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 981), items: [802, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(627, 645), items: [], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 981), items: [798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 681, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 52, 87, 118, 205, 239, 269, 558], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 681, 743, 802, 981, 29, 32, 43, 420, 421, 454, 616, 52, 87, 118, 205, 239, 269, 558] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(31, SumMonoid(13089)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 343), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(10, SumMonoid(4338)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(5, SumMonoid(4093)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 165), fp: EncodedCountingMonoid(12, SumMonoid(1383)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 165), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(165, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(343, 421), fp: EncodedCountingMonoid(4, SumMonoid(1474)) }, Fingerprint { range: Range(421, 465), fp: EncodedCountingMonoid(3, SumMonoid(1335)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(287, 343), items: [287, 311], want_response: true }, ItemSet { range: Range(465, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 630], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 981), items: [802, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 144), fp: EncodedCountingMonoid(6, SumMonoid(571)) }, Fingerprint { range: Range(144, 165), fp: EncodedCountingMonoid(5, SumMonoid(768)) }, Fingerprint { range: Range(165, 255), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 421), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(287, 343), items: [289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 519), items: [465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(627, 645), items: [], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 981), items: [798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(421, 465), items: [459], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(421, 465), items: [421, 454, 460], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 144), items: [118], want_response: true }, ItemSet { range: Range(144, 165), items: [], want_response: true }, ItemSet { range: Range(165, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 421), items: [420], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 459, 574, 623], provide: [(287, true), (311, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 144), items: [120, 124], want_response: false }, ItemSet { range: Range(144, 165), items: [144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 255), items: [165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 421), items: [388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 421, 454, 460, 616, 52, 87, 118, 205, 239, 269, 343, 353, 358, 420, 558], provide: [(289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (459, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 349, 363, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (421, true), (454, true), (460, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (343, true), (353, true), (358, true), (420, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 459, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 349, 363, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981, 29, 32, 43, 421, 454, 460, 616, 52, 87, 118, 205, 239, 269, 343, 353, 358, 420, 558] [INFO] [stdout] [INFO] [stdout] all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 118, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 460, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(32, SumMonoid(13403)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(11, SumMonoid(4652)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(5, SumMonoid(4093)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 506), items: [460, 504], want_response: true }, ItemSet { range: Range(506, 555), items: [506, 519], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 630], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 981), items: [802, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 506), items: [459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(506, 555), items: [512, 552], want_response: false }, ItemSet { range: Range(627, 645), items: [], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 981), items: [798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [287, 311, 460, 504, 506, 519, 627, 630, 681, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(287, true), (311, true), (460, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 52, 87, 118, 205, 239, 269, 558], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 460, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 460, 504, 506, 519, 627, 630, 681, 743, 802, 981, 29, 32, 43, 420, 421, 454, 616, 52, 87, 118, 205, 239, 269, 558] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(31, SumMonoid(12943)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(11, SumMonoid(1672)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(5, SumMonoid(4093)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(52, 164), fp: EncodedCountingMonoid(3, SumMonoid(257)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 630], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 981), items: [802, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 124), fp: EncodedCountingMonoid(5, SumMonoid(447)) }, Fingerprint { range: Range(124, 164), fp: EncodedCountingMonoid(5, SumMonoid(728)) }, Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(627, 645), items: [], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 981), items: [798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(52, 118), items: [52, 87], want_response: true }, ItemSet { range: Range(118, 124), items: [118], want_response: true }, ItemSet { range: Range(124, 164), items: [], want_response: true }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(287, true), (311, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 118), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(118, 124), items: [120], want_response: false }, ItemSet { range: Range(124, 164), items: [124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 52, 87, 118, 205, 239, 269, 558], provide: [(289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (52, true), (87, true), (118, true), (205, true), (239, true), (269, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 118, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} + [986, 995, 20, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981, 29, 32, 43, 420, 421, 454, 616, 52, 87, 118, 205, 239, 269, 558] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(30, SumMonoid(12825)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(5, SumMonoid(4093)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 630], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 981), items: [802, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(627, 645), items: [], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 981), items: [798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 558], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (205, true), (239, true), (269, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981, 29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 558] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(30, SumMonoid(12825)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(5, SumMonoid(4093)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 630], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 981), items: [802, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(627, 645), items: [], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 981), items: [798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 558], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (205, true), (239, true), (269, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981, 29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 558] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(29, SumMonoid(12482)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(9, SumMonoid(3849)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(5, SumMonoid(4093)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(3, SumMonoid(1025)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 630], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 981), items: [802, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(627, 645), items: [], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 981), items: [798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(314, 358), items: [314, 353], want_response: true }, ItemSet { range: Range(358, 368), items: [358], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(314, 358), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(358, 368), items: [363], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 314, 353, 358, 558], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 315, 341, 349, 363, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (205, true), (239, true), (269, true), (314, true), (353, true), (358, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 164, 165, 195, 224, 255, 256, 258, 315, 341, 349, 363, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981, 29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 314, 353, 358, 558] [INFO] [stdout] [INFO] [stdout] all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 681, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 802, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(30, SumMonoid(12825)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(5, SumMonoid(4093)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 645), fp: EncodedCountingMonoid(5, SumMonoid(2878)) }, Fingerprint { range: Range(645, 681), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }, Fingerprint { range: Range(681, 798), fp: EncodedCountingMonoid(14, SumMonoid(10418)) }, Fingerprint { range: Range(798, 982), fp: EncodedCountingMonoid(14, SumMonoid(12056)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 630], want_response: true }, ItemSet { range: Range(645, 681), items: [], want_response: true }, ItemSet { range: Range(681, 798), items: [681, 743], want_response: true }, ItemSet { range: Range(798, 981), items: [802, 886], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(627, 645), items: [], want_response: false }, ItemSet { range: Range(645, 681), items: [645, 647, 664, 666], want_response: false }, ItemSet { range: Range(681, 798), items: [688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788], want_response: false }, ItemSet { range: Range(798, 981), items: [798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (627, true), (630, true), (681, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 558], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (205, true), (239, true), (269, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 681, 743, 802, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 627, 630, 681, 743, 802, 981, 29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 558] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 743, 802, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(29, SumMonoid(12144)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(743, 982), fp: EncodedCountingMonoid(4, SumMonoid(3412)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }, Fingerprint { range: Range(743, 829), fp: EncodedCountingMonoid(11, SumMonoid(8578)) }, Fingerprint { range: Range(829, 982), fp: EncodedCountingMonoid(11, SumMonoid(9639)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(627, 666), items: [627, 630], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }, ItemSet { range: Range(743, 829), items: [743, 802], want_response: true }, ItemSet { range: Range(829, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(627, 666), items: [645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 829), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816], want_response: false }, ItemSet { range: Range(829, 982), items: [829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }, ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 627, 630, 743, 802, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (627, true), (630, true), (743, true), (802, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 558], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (616, true), (205, true), (239, true), (269, true), (558, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true), (562, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 743, 802, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 574, 623, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417, 562, 564] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 627, 630, 743, 802, 981, 29, 32, 43, 420, 421, 454, 616, 205, 239, 269, 558] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(28, SumMonoid(11342)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 630), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(630, 982), fp: EncodedCountingMonoid(4, SumMonoid(3240)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }, Fingerprint { range: Range(630, 787), fp: EncodedCountingMonoid(16, SumMonoid(11465)) }, Fingerprint { range: Range(787, 982), fp: EncodedCountingMonoid(16, SumMonoid(13631)) }], item_sets: [ItemSet { range: Range(574, 630), items: [574, 623], want_response: true }], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(574, 630), items: [616, 627], want_response: false }, ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }, ItemSet { range: Range(630, 787), items: [630, 743], want_response: true }, ItemSet { range: Range(787, 982), items: [886, 981], want_response: true }], wants: [574, 623], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }, ItemSet { range: Range(630, 787), items: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781], want_response: false }, ItemSet { range: Range(787, 982), items: [787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [616, 627, 52, 87, 287, 311, 504, 506, 519, 558, 630, 743, 981], provide: [(574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44], provide: [(616, true), (627, true), (52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (558, true), (630, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 743, 886, 981} + [986, 995, 20, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [616, 627, 52, 87, 287, 311, 504, 506, 519, 558, 630, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(27, SumMonoid(11137)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 343), fp: EncodedCountingMonoid(10, SumMonoid(1663)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(9, SumMonoid(3878)) }, Fingerprint { range: Range(555, 630), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(630, 982), fp: EncodedCountingMonoid(4, SumMonoid(3240)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 165), fp: EncodedCountingMonoid(12, SumMonoid(1383)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }, Fingerprint { range: Range(630, 787), fp: EncodedCountingMonoid(16, SumMonoid(11465)) }, Fingerprint { range: Range(787, 982), fp: EncodedCountingMonoid(16, SumMonoid(13631)) }], item_sets: [ItemSet { range: Range(574, 630), items: [574, 623], want_response: true }], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(165, 311), fp: EncodedCountingMonoid(3, SumMonoid(795)) }, Fingerprint { range: Range(343, 420), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(420, 465), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(574, 630), items: [616, 627], want_response: false }, ItemSet { range: Range(52, 165), items: [52, 87], want_response: true }, ItemSet { range: Range(311, 343), items: [311, 314], want_response: true }, ItemSet { range: Range(465, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }, ItemSet { range: Range(630, 787), items: [630, 743], want_response: true }, ItemSet { range: Range(787, 982), items: [886, 981], want_response: true }], wants: [574, 623], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(165, 258), fp: EncodedCountingMonoid(5, SumMonoid(1095)) }, Fingerprint { range: Range(258, 311), fp: EncodedCountingMonoid(5, SumMonoid(1452)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 420), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }], item_sets: [ItemSet { range: Range(52, 165), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(311, 343), items: [315, 341], want_response: false }, ItemSet { range: Range(465, 519), items: [465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }, ItemSet { range: Range(630, 787), items: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781], want_response: false }, ItemSet { range: Range(787, 982), items: [787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 465), items: [459], want_response: true }], wants: [616, 627, 52, 87, 311, 314, 504, 506, 519, 558, 630, 743, 981], provide: [(574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 465), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(165, 258), items: [239], want_response: true }, ItemSet { range: Range(258, 311), items: [269, 287], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 315, 341, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 459], provide: [(616, true), (627, true), (52, true), (87, true), (311, true), (314, true), (504, true), (506, true), (519, true), (558, true), (630, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 258), items: [165, 195, 224, 255, 256], want_response: false }, ItemSet { range: Range(258, 311), items: [258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 420), items: [388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 239, 269, 287, 343, 353, 358], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 349, 363, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (239, true), (269, true), (287, true), (343, true), (353, true), (358, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 743, 886, 981} + [986, 995, 20, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 315, 341, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 459, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 349, 363, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [616, 627, 52, 87, 311, 314, 504, 506, 519, 558, 630, 743, 981, 29, 32, 43, 420, 421, 454, 239, 269, 287, 343, 353, 358] [INFO] [stdout] [INFO] [stdout] all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 630, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(28, SumMonoid(11342)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 630), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(630, 982), fp: EncodedCountingMonoid(4, SumMonoid(3240)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }, Fingerprint { range: Range(630, 787), fp: EncodedCountingMonoid(16, SumMonoid(11465)) }, Fingerprint { range: Range(787, 982), fp: EncodedCountingMonoid(16, SumMonoid(13631)) }], item_sets: [ItemSet { range: Range(574, 630), items: [574, 623], want_response: true }], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(574, 630), items: [616, 627], want_response: false }, ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }, ItemSet { range: Range(630, 787), items: [630, 743], want_response: true }, ItemSet { range: Range(787, 982), items: [886, 981], want_response: true }], wants: [574, 623], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }, ItemSet { range: Range(630, 787), items: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781], want_response: false }, ItemSet { range: Range(787, 982), items: [787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [616, 627, 52, 87, 287, 311, 504, 506, 519, 558, 630, 743, 981], provide: [(574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44], provide: [(616, true), (627, true), (52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (558, true), (630, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 630, 743, 886, 981} + [986, 995, 20, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [616, 627, 52, 87, 287, 311, 504, 506, 519, 558, 630, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(27, SumMonoid(10712)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(743, 982), fp: EncodedCountingMonoid(3, SumMonoid(2610)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }, Fingerprint { range: Range(743, 829), fp: EncodedCountingMonoid(11, SumMonoid(8578)) }, Fingerprint { range: Range(829, 982), fp: EncodedCountingMonoid(11, SumMonoid(9639)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(555, 616), items: [555, 558], want_response: true }, ItemSet { range: Range(616, 666), items: [616, 627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }, ItemSet { range: Range(743, 829), items: [743], want_response: true }, ItemSet { range: Range(829, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(555, 616), items: [555, 562, 564, 574], want_response: false }, ItemSet { range: Range(616, 666), items: [623, 645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 829), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816], want_response: false }, ItemSet { range: Range(829, 982), items: [829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (558, true), (616, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(26, SumMonoid(10258)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(9, SumMonoid(3738)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(743, 982), fp: EncodedCountingMonoid(3, SumMonoid(2610)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }, Fingerprint { range: Range(743, 829), fp: EncodedCountingMonoid(11, SumMonoid(8578)) }, Fingerprint { range: Range(829, 982), fp: EncodedCountingMonoid(11, SumMonoid(9639)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1199)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(555, 616), items: [555, 558], want_response: true }, ItemSet { range: Range(616, 666), items: [616, 627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }, ItemSet { range: Range(743, 829), items: [743], want_response: true }, ItemSet { range: Range(829, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(555, 616), items: [555, 562, 564, 574], want_response: false }, ItemSet { range: Range(616, 666), items: [623, 645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 829), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816], want_response: false }, ItemSet { range: Range(829, 982), items: [829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [420, 421], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(358, 404), items: [358], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 315, 341, 349, 404, 417], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (558, true), (616, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [29, 32, 43, 314, 343, 353, 420, 421, 205, 239, 269, 358], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 363, 368, 388], provide: [(29, true), (32, true), (43, true), (314, true), (343, true), (353, true), (420, true), (421, true), (205, true), (239, true), (269, true), (358, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 315, 341, 349, 404, 417, 164, 165, 195, 224, 255, 256, 258, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981, 29, 32, 43, 314, 343, 353, 420, 421, 205, 239, 269, 358] [INFO] [stdout] [INFO] [stdout] all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(27, SumMonoid(10712)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(743, 982), fp: EncodedCountingMonoid(3, SumMonoid(2610)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }, Fingerprint { range: Range(743, 829), fp: EncodedCountingMonoid(11, SumMonoid(8578)) }, Fingerprint { range: Range(829, 982), fp: EncodedCountingMonoid(11, SumMonoid(9639)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(555, 616), items: [555, 558], want_response: true }, ItemSet { range: Range(616, 666), items: [616, 627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }, ItemSet { range: Range(743, 829), items: [743], want_response: true }, ItemSet { range: Range(829, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(555, 616), items: [555, 562, 564, 574], want_response: false }, ItemSet { range: Range(616, 666), items: [623, 645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 829), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816], want_response: false }, ItemSet { range: Range(829, 982), items: [829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (558, true), (616, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(26, SumMonoid(10354)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(9, SumMonoid(3834)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(743, 982), fp: EncodedCountingMonoid(3, SumMonoid(2610)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }, Fingerprint { range: Range(743, 829), fp: EncodedCountingMonoid(11, SumMonoid(8578)) }, Fingerprint { range: Range(829, 982), fp: EncodedCountingMonoid(11, SumMonoid(9639)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(555, 616), items: [555, 558], want_response: true }, ItemSet { range: Range(616, 666), items: [616, 627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }, ItemSet { range: Range(743, 829), items: [743], want_response: true }, ItemSet { range: Range(829, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(555, 616), items: [555, 562, 564, 574], want_response: false }, ItemSet { range: Range(616, 666), items: [623, 645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 829), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816], want_response: false }, ItemSet { range: Range(829, 982), items: [829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 368), items: [353], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (558, true), (616, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 368), items: [363], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269, 314, 343, 353], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true), (314, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 315, 341, 349, 363, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269, 314, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 506, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(27, SumMonoid(10712)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(10, SumMonoid(4192)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(743, 982), fp: EncodedCountingMonoid(3, SumMonoid(2610)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }, Fingerprint { range: Range(743, 829), fp: EncodedCountingMonoid(11, SumMonoid(8578)) }, Fingerprint { range: Range(829, 982), fp: EncodedCountingMonoid(11, SumMonoid(9639)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 519), items: [504, 506], want_response: true }, ItemSet { range: Range(519, 555), items: [519], want_response: true }, ItemSet { range: Range(555, 616), items: [555, 558], want_response: true }, ItemSet { range: Range(616, 666), items: [616, 627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }, ItemSet { range: Range(743, 829), items: [743], want_response: true }, ItemSet { range: Range(829, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 519), items: [459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(519, 555), items: [552], want_response: false }, ItemSet { range: Range(555, 616), items: [555, 562, 564, 574], want_response: false }, ItemSet { range: Range(616, 666), items: [623, 645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 829), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816], want_response: false }, ItemSet { range: Range(829, 982), items: [829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (506, true), (519, true), (558, true), (616, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 506, 519, 555, 558, 616, 627, 743, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 506, 519, 558, 616, 627, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 616, 627, 743, 886, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(26, SumMonoid(10206)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(9, SumMonoid(3686)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(4, SumMonoid(2356)) }, Fingerprint { range: Range(743, 982), fp: EncodedCountingMonoid(3, SumMonoid(2610)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }, Fingerprint { range: Range(743, 829), fp: EncodedCountingMonoid(11, SumMonoid(8578)) }, Fingerprint { range: Range(829, 982), fp: EncodedCountingMonoid(11, SumMonoid(9639)) }], item_sets: [], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504, 519], want_response: true }, ItemSet { range: Range(555, 616), items: [555, 558], want_response: true }, ItemSet { range: Range(616, 666), items: [616, 627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }, ItemSet { range: Range(743, 829), items: [743], want_response: true }, ItemSet { range: Range(829, 982), items: [886, 981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(555, 616), items: [555, 562, 564, 574], want_response: false }, ItemSet { range: Range(616, 666), items: [623, 645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 829), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816], want_response: false }, ItemSet { range: Range(829, 982), items: [829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [52, 87, 287, 311, 504, 519, 558, 616, 627, 743, 981], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (519, true), (558, true), (616, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 616, 627, 743, 886, 981} + [986, 995, 20, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [52, 87, 287, 311, 504, 519, 558, 616, 627, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 616, 627, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(25, SumMonoid(9320)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(9, SumMonoid(3686)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }, Fingerprint { range: Range(627, 982), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }, Fingerprint { range: Range(627, 787), fp: EncodedCountingMonoid(16, SumMonoid(11465)) }, Fingerprint { range: Range(787, 982), fp: EncodedCountingMonoid(16, SumMonoid(13631)) }], item_sets: [ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504, 519], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }, ItemSet { range: Range(627, 787), items: [627, 743], want_response: true }, ItemSet { range: Range(787, 982), items: [981], want_response: true }], wants: [574, 623], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }, ItemSet { range: Range(627, 787), items: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781], want_response: false }, ItemSet { range: Range(787, 982), items: [787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [616, 52, 87, 287, 311, 504, 519, 558, 627, 743, 981], provide: [(574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44], provide: [(616, true), (52, true), (87, true), (287, true), (311, true), (504, true), (519, true), (558, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 616, 627, 743, 981} + [986, 995, 20, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [616, 52, 87, 287, 311, 504, 519, 558, 627, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 454, 504, 519, 555, 558, 616, 627, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(24, SumMonoid(8899)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 311), fp: EncodedCountingMonoid(9, SumMonoid(1243)) }, Fingerprint { range: Range(311, 555), fp: EncodedCountingMonoid(9, SumMonoid(3576)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }, Fingerprint { range: Range(627, 982), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 311), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(311, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }, Fingerprint { range: Range(627, 787), fp: EncodedCountingMonoid(16, SumMonoid(11465)) }, Fingerprint { range: Range(787, 982), fp: EncodedCountingMonoid(16, SumMonoid(13631)) }], item_sets: [ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(311, 358), fp: EncodedCountingMonoid(4, SumMonoid(1321)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }], item_sets: [ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 311), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [504, 519], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }, ItemSet { range: Range(627, 787), items: [627, 743], want_response: true }, ItemSet { range: Range(787, 982), items: [981], want_response: true }], wants: [574, 623], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 311), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }, ItemSet { range: Range(627, 787), items: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781], want_response: false }, ItemSet { range: Range(787, 982), items: [787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(311, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [616, 52, 87, 205, 239, 269, 287, 504, 519, 558, 627, 743, 981], provide: [(574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(311, 349), items: [311, 314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [420, 454], want_response: false }, ItemSet { range: Range(358, 404), items: [358], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 315, 341, 349, 404, 417], provide: [(616, true), (52, true), (87, true), (205, true), (239, true), (269, true), (287, true), (504, true), (519, true), (558, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [29, 32, 43, 311, 314, 343, 353, 420, 454, 358], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true), (44, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [363, 368, 388], provide: [(29, true), (32, true), (43, true), (311, true), (314, true), (343, true), (353, true), (420, true), (454, true), (358, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 454, 504, 519, 555, 558, 616, 627, 743, 981} + [986, 995, 20, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 315, 341, 349, 404, 417, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [616, 52, 87, 205, 239, 269, 287, 504, 519, 558, 627, 743, 981, 29, 32, 43, 311, 314, 343, 353, 420, 454, 358] [INFO] [stdout] [INFO] [stdout] all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 454, 459, 465, 478, 479, 484, 504, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 454, 459, 465, 478, 479, 484, 504, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 29, 32, 43, 44, 52, 54, 84, 87, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 454, 459, 465, 478, 479, 484, 504, 512, 519, 552, 555, 558, 562, 564, 574, 616, 623, 627, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 616, 627, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(25, SumMonoid(9320)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(9, SumMonoid(3686)) }, Fingerprint { range: Range(555, 627), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }, Fingerprint { range: Range(627, 982), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 574), fp: EncodedCountingMonoid(3, SumMonoid(1681)) }, Fingerprint { range: Range(627, 787), fp: EncodedCountingMonoid(16, SumMonoid(11465)) }, Fingerprint { range: Range(787, 982), fp: EncodedCountingMonoid(16, SumMonoid(13631)) }], item_sets: [ItemSet { range: Range(574, 627), items: [574, 623], want_response: true }], wants: [], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(574, 627), items: [616], want_response: false }, ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504, 519], want_response: true }, ItemSet { range: Range(555, 574), items: [555, 558], want_response: true }, ItemSet { range: Range(627, 787), items: [627, 743], want_response: true }, ItemSet { range: Range(787, 982), items: [981], want_response: true }], wants: [574, 623], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(555, 574), items: [555, 562, 564], want_response: false }, ItemSet { range: Range(627, 787), items: [645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781], want_response: false }, ItemSet { range: Range(787, 982), items: [787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [616, 52, 87, 287, 311, 504, 519, 558, 627, 743, 981], provide: [(574, true), (623, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44], provide: [(616, true), (52, true), (87, true), (287, true), (311, true), (504, true), (519, true), (558, true), (627, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 616, 627, 743, 981} + [986, 995, 20, 574, 623, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [616, 52, 87, 287, 311, 504, 519, 558, 627, 743, 981, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 627, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(24, SumMonoid(8704)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(10, SumMonoid(1554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(9, SumMonoid(3686)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(3, SumMonoid(1740)) }], item_sets: [ItemSet { range: Range(743, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }], item_sets: [ItemSet { range: Range(743, 982), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 52), fp: EncodedCountingMonoid(3, SumMonoid(104)) }, Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504, 519], want_response: true }, ItemSet { range: Range(555, 627), items: [555, 558], want_response: true }, ItemSet { range: Range(627, 666), items: [627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }], wants: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(555, 627), items: [555, 562, 564, 574, 623], want_response: false }, ItemSet { range: Range(627, 666), items: [645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(29, 52), items: [44], want_response: true }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [52, 87, 287, 311, 504, 519, 558, 627], provide: [(749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32, 43], want_response: false }, ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 44], provide: [(52, true), (87, true), (287, true), (311, true), (504, true), (519, true), (558, true), (627, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [29, 32, 43, 420, 421, 454, 205, 239, 269], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (44, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(29, true), (32, true), (43, true), (420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 43, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 627, 743, 981} + [986, 995, 20, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 44, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [743, 981, 52, 87, 287, 311, 504, 519, 558, 627, 29, 32, 43, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 627, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(23, SumMonoid(8661)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(9, SumMonoid(1511)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(9, SumMonoid(3686)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(3, SumMonoid(1740)) }], item_sets: [ItemSet { range: Range(743, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }], item_sets: [ItemSet { range: Range(743, 982), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504, 519], want_response: true }, ItemSet { range: Range(555, 627), items: [555, 558], want_response: true }, ItemSet { range: Range(627, 666), items: [627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }], wants: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(555, 627), items: [555, 562, 564, 574, 623], want_response: false }, ItemSet { range: Range(627, 666), items: [645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 87, 287, 311, 504, 519, 558, 627], provide: [(749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727], provide: [(29, true), (32, true), (52, true), (87, true), (287, true), (311, true), (504, true), (519, true), (558, true), (627, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 519, 555, 558, 627, 743, 981} + [986, 995, 20, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [743, 981, 29, 32, 52, 87, 287, 311, 504, 519, 558, 627, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 555, 558, 627, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(22, SumMonoid(8142)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(9, SumMonoid(1511)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(8, SumMonoid(3167)) }, Fingerprint { range: Range(555, 743), fp: EncodedCountingMonoid(3, SumMonoid(1740)) }], item_sets: [ItemSet { range: Range(743, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }, Fingerprint { range: Range(555, 666), fp: EncodedCountingMonoid(8, SumMonoid(4834)) }, Fingerprint { range: Range(666, 743), fp: EncodedCountingMonoid(7, SumMonoid(4923)) }], item_sets: [ItemSet { range: Range(743, 982), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504], want_response: true }, ItemSet { range: Range(555, 627), items: [555, 558], want_response: true }, ItemSet { range: Range(627, 666), items: [627], want_response: true }, ItemSet { range: Range(666, 743), items: [], want_response: true }], wants: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(555, 627), items: [555, 562, 564, 574, 623], want_response: false }, ItemSet { range: Range(627, 666), items: [645, 647, 664], want_response: false }, ItemSet { range: Range(666, 743), items: [666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 87, 287, 311, 504, 558, 627], provide: [(749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727], provide: [(29, true), (32, true), (52, true), (87, true), (287, true), (311, true), (504, true), (558, true), (627, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 555, 558, 627, 743, 981} + [986, 995, 20, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [743, 981, 29, 32, 52, 87, 287, 311, 504, 558, 627, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 555, 558, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(21, SumMonoid(7515)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(9, SumMonoid(1511)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(8, SumMonoid(3167)) }], item_sets: [ItemSet { range: Range(555, 743), items: [555, 558], want_response: true }, ItemSet { range: Range(743, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 743), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 982), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [558, 743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52, 87], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504], want_response: true }], wants: [562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(558, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 87, 287, 311, 504], provide: [(562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(29, true), (32, true), (52, true), (87, true), (287, true), (311, true), (504, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 87, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 555, 558, 743, 981} + [986, 995, 20, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [558, 743, 981, 29, 32, 52, 87, 287, 311, 504, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 555, 558, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(20, SumMonoid(7428)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(8, SumMonoid(1424)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(8, SumMonoid(3167)) }], item_sets: [ItemSet { range: Range(555, 743), items: [555, 558], want_response: true }, ItemSet { range: Range(743, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 743), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(743, 982), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [558, 743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504], want_response: true }], wants: [562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(558, true), (743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 287, 311, 504], provide: [(562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(29, true), (32, true), (52, true), (287, true), (311, true), (504, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 555, 558, 743, 981} + [986, 995, 20, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [558, 743, 981, 29, 32, 52, 287, 311, 504, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 555, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(19, SumMonoid(6870)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(8, SumMonoid(1424)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(8, SumMonoid(3167)) }], item_sets: [ItemSet { range: Range(555, 981), items: [555, 743], want_response: true }, ItemSet { range: Range(981, 982), items: [981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 981), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }, ItemSet { range: Range(981, 982), items: [], want_response: false }], wants: [743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504], want_response: true }], wants: [562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 287, 311, 504], provide: [(562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(29, true), (32, true), (52, true), (287, true), (311, true), (504, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 555, 743, 981} + [986, 995, 20, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [743, 981, 29, 32, 52, 287, 311, 504, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(18, SumMonoid(6315)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(8, SumMonoid(1424)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(8, SumMonoid(3167)) }], item_sets: [ItemSet { range: Range(555, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 287, 311, 504], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(29, true), (32, true), (52, true), (287, true), (311, true), (504, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 743, 981} + [986, 995, 20, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [743, 981, 29, 32, 52, 287, 311, 504, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(17, SumMonoid(6263)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 343), fp: EncodedCountingMonoid(8, SumMonoid(1686)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(7, SumMonoid(2853)) }], item_sets: [ItemSet { range: Range(555, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 165), fp: EncodedCountingMonoid(12, SumMonoid(1383)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(165, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(287, 343), fp: EncodedCountingMonoid(3, SumMonoid(912)) }, Fingerprint { range: Range(343, 420), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(420, 465), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 165), items: [29, 32], want_response: true }, ItemSet { range: Range(465, 555), items: [504], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(165, 255), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(287, 309), fp: EncodedCountingMonoid(3, SumMonoid(885)) }, Fingerprint { range: Range(309, 343), fp: EncodedCountingMonoid(3, SumMonoid(965)) }, Fingerprint { range: Range(343, 388), fp: EncodedCountingMonoid(3, SumMonoid(1080)) }, Fingerprint { range: Range(388, 420), fp: EncodedCountingMonoid(3, SumMonoid(1209)) }], item_sets: [ItemSet { range: Range(29, 165), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 465), items: [459], want_response: true }], wants: [29, 32, 504], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 465), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(165, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(287, 309), items: [287], want_response: true }, ItemSet { range: Range(309, 343), items: [311, 314], want_response: true }, ItemSet { range: Range(343, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 388), items: [358], want_response: true }, ItemSet { range: Range(388, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 465, 478, 479, 484, 512, 552, 459], provide: [(29, true), (32, true), (504, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 255), items: [165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(287, 309), items: [289, 290, 306], want_response: false }, ItemSet { range: Range(309, 343), items: [309, 315, 341], want_response: false }, ItemSet { range: Range(343, 358), items: [349], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 420), items: [388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269, 287, 311, 314, 343, 353, 358], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true), (287, true), (311, true), (314, true), (343, true), (353, true), (358, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 743, 981} + [986, 995, 20, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 465, 478, 479, 484, 512, 552, 459, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [743, 981, 29, 32, 504, 420, 421, 454, 205, 239, 269, 287, 311, 314, 343, 353, 358] [INFO] [stdout] [INFO] [stdout] all vec: [20, 29, 32, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 29, 32, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 29, 32, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 420, 421, 454, 459, 465, 478, 479, 484, 504, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 743, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(18, SumMonoid(6315)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(8, SumMonoid(1424)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(8, SumMonoid(3167)) }], item_sets: [ItemSet { range: Range(555, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [504], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 287, 311, 504], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(29, true), (32, true), (52, true), (287, true), (311, true), (504, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 504, 743, 981} + [986, 995, 20, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [743, 981, 29, 32, 52, 287, 311, 504, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 743, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(17, SumMonoid(5811)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(8, SumMonoid(1424)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(555, 982), items: [743, 981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [743, 981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(743, true), (981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(29, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 743, 981} + [986, 995, 20, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [743, 981, 29, 32, 52, 287, 311, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 982), fp: EncodedCountingMonoid(16, SumMonoid(5068)) }], item_sets: [ItemSet { range: Range(982, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 555), fp: EncodedCountingMonoid(37, SumMonoid(10304)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 29), items: [986, 995, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 314), fp: EncodedCountingMonoid(8, SumMonoid(1424)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 164), fp: EncodedCountingMonoid(11, SumMonoid(1219)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(29, 52), items: [29, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(29, 52), items: [44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [29, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(29, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} + [986, 995, 20, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 29, 32, 52, 287, 311, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 982), fp: EncodedCountingMonoid(16, SumMonoid(5054)) }], item_sets: [ItemSet { range: Range(982, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 15), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 314), fp: EncodedCountingMonoid(8, SumMonoid(1410)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(15, 52), items: [15, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(15, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [15, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(15, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 15, 32, 52, 287, 311, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {8, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 982), fp: EncodedCountingMonoid(16, SumMonoid(5047)) }], item_sets: [ItemSet { range: Range(982, 8), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(8, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 8), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 314), fp: EncodedCountingMonoid(8, SumMonoid(1403)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(8, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(8, 52), items: [8, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(8, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [8, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(8, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {8, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 8, 32, 52, 287, 311, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {4, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(4, 982), fp: EncodedCountingMonoid(16, SumMonoid(5043)) }], item_sets: [ItemSet { range: Range(982, 4), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 4), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(4, 314), fp: EncodedCountingMonoid(8, SumMonoid(1399)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(4, 52), items: [4, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [4, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(4, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {4, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 4, 32, 52, 287, 311, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 982), fp: EncodedCountingMonoid(16, SumMonoid(5041)) }], item_sets: [ItemSet { range: Range(982, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 2), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 314), fp: EncodedCountingMonoid(8, SumMonoid(1397)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(2, 52), items: [2, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(2, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [2, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(2, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 2, 32, 52, 287, 311, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(5040)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 420), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(420, 459), fp: EncodedCountingMonoid(3, SumMonoid(1295)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 420), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(420, 459), items: [], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(420, 459), items: [420, 421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 420), items: [], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(368, 420), items: [368, 388, 404, 417], want_response: false }], wants: [420, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417], provide: [(420, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 420, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 164, 165, 195, 224, 255, 256, 258, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 420, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 210, 239, 269, 287, 311, 314, 343, 353, 358, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4830)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 311), fp: EncodedCountingMonoid(8, SumMonoid(1295)) }, Fingerprint { range: Range(311, 555), fp: EncodedCountingMonoid(7, SumMonoid(2554)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 311), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(311, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 269), fp: EncodedCountingMonoid(3, SumMonoid(654)) }, Fingerprint { range: Range(311, 358), fp: EncodedCountingMonoid(4, SumMonoid(1321)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1233)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(269, 311), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 269), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(269, 311), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(311, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(311, 349), items: [311, 314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 239), items: [205, 210], want_response: true }, ItemSet { range: Range(239, 255), items: [239], want_response: true }, ItemSet { range: Range(255, 269), items: [], want_response: true }, ItemSet { range: Range(358, 404), items: [358], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [(1, true), (32, true), (52, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 239), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(239, 255), items: [], want_response: false }, ItemSet { range: Range(255, 269), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [311, 314, 343, 353, 421, 454, 205, 210, 239, 358], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 363, 368, 388], provide: [(311, true), (314, true), (343, true), (353, true), (421, true), (454, true), (205, true), (210, true), (239, true), (358, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 210, 239, 269, 287, 311, 314, 343, 353, 358, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 164, 165, 195, 224, 255, 256, 258, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 269, 287, 311, 314, 343, 353, 421, 454, 205, 210, 239, 358] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 210, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 210, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 210, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 315, 343, 353, 358, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4935)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2558)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(4, SumMonoid(1325)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1233)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 315, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(358, 404), items: [358], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 341, 349, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [314, 343, 353, 421, 454, 205, 239, 269, 358], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 363, 368, 388], provide: [(314, true), (343, true), (353, true), (421, true), (454, true), (205, true), (239, true), (269, true), (358, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 315, 343, 353, 358, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 341, 349, 404, 417, 164, 165, 195, 224, 255, 256, 258, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 343, 353, 421, 454, 205, 239, 269, 358] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 368, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4988)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2611)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(368, 459), fp: EncodedCountingMonoid(3, SumMonoid(1243)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(368, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(368, 404), items: [368], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 368, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 342, 343, 353, 358, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4962)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2585)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(4, SumMonoid(1352)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1233)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 342, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(358, 404), items: [358], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [314, 342, 343, 353, 421, 454, 205, 239, 269, 358], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 363, 368, 388], provide: [(314, true), (342, true), (343, true), (353, true), (421, true), (454, true), (205, true), (239, true), (269, true), (358, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 342, 343, 353, 358, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 164, 165, 195, 224, 255, 256, 258, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 342, 343, 353, 421, 454, 205, 239, 269, 358] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 342, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 342, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 342, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 355, 358, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4975)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2598)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(4, SumMonoid(1365)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1233)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353, 355], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(358, 404), items: [358], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [314, 343, 353, 355, 421, 454, 205, 239, 269, 358], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 363, 368, 388], provide: [(314, true), (343, true), (353, true), (355, true), (421, true), (454, true), (205, true), (239, true), (269, true), (358, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 355, 358, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 164, 165, 195, 224, 255, 256, 258, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 343, 353, 355, 421, 454, 205, 239, 269, 358] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 355, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 355, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 355, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 362, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4982)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2605)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 362), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(3, SumMonoid(1237)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(362, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 362), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 362), items: [353, 358], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(362, 404), items: [362], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(362, 404), items: [363, 368, 388], want_response: false }], wants: [314, 343, 353, 358, 421, 454, 205, 239, 269, 362], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 363, 368, 388], provide: [(314, true), (343, true), (353, true), (358, true), (421, true), (454, true), (205, true), (239, true), (269, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 362, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 164, 165, 195, 224, 255, 256, 258, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 343, 353, 358, 421, 454, 205, 239, 269, 362] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 362, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 362, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 362, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 365, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4985)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2608)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 365), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(365, 459), fp: EncodedCountingMonoid(3, SumMonoid(1240)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(365, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(365, 404), items: [365], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [365, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(365, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 365, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 365, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4984)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 364, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 363, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4983)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2606)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(363, 459), fp: EncodedCountingMonoid(3, SumMonoid(1238)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(363, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 363), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 363), items: [353, 358], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(363, 404), items: [363], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(363, 404), items: [363, 368, 388], want_response: false }], wants: [314, 343, 353, 358, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258, 368, 388], provide: [(314, true), (343, true), (353, true), (358, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 363, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 164, 165, 195, 224, 255, 256, 258, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 343, 353, 358, 421, 454, 205, 239, 269] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 353, 358, 363, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4984)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 364, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 177, 205, 239, 269, 287, 311, 314, 343, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4808)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 311), fp: EncodedCountingMonoid(8, SumMonoid(1262)) }, Fingerprint { range: Range(311, 555), fp: EncodedCountingMonoid(7, SumMonoid(2565)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 311), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(311, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 269), fp: EncodedCountingMonoid(3, SumMonoid(621)) }, Fingerprint { range: Range(311, 364), fp: EncodedCountingMonoid(4, SumMonoid(1326)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(269, 311), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 269), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(269, 311), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(311, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(311, 349), items: [311, 314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 239), items: [177, 205], want_response: true }, ItemSet { range: Range(239, 255), items: [239], want_response: true }, ItemSet { range: Range(255, 269), items: [], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 239), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(239, 255), items: [], want_response: false }, ItemSet { range: Range(255, 269), items: [255, 256, 258], want_response: false }], wants: [311, 314, 343, 358, 364, 421, 454, 177, 205, 239], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(311, true), (314, true), (343, true), (358, true), (364, true), (421, true), (454, true), (177, true), (205, true), (239, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 177, 205, 239, 269, 287, 311, 314, 343, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 269, 287, 311, 314, 343, 358, 364, 421, 454, 177, 205, 239] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 177, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 177, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 177, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 265, 269, 287, 311, 314, 343, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4896)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 311), fp: EncodedCountingMonoid(8, SumMonoid(1350)) }, Fingerprint { range: Range(311, 555), fp: EncodedCountingMonoid(7, SumMonoid(2565)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 311), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(311, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 269), fp: EncodedCountingMonoid(3, SumMonoid(709)) }, Fingerprint { range: Range(311, 364), fp: EncodedCountingMonoid(4, SumMonoid(1326)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(269, 311), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 269), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(269, 311), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(311, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(311, 349), items: [311, 314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 269), items: [265], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 269), items: [255, 256, 258], want_response: false }], wants: [311, 314, 343, 358, 364, 421, 454, 205, 239, 265], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(311, true), (314, true), (343, true), (358, true), (364, true), (421, true), (454, true), (205, true), (239, true), (265, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 265, 269, 287, 311, 314, 343, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 269, 287, 311, 314, 343, 358, 364, 421, 454, 205, 239, 265] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 265, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 265, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 265, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 309, 311, 314, 343, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4940)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 311), fp: EncodedCountingMonoid(8, SumMonoid(1394)) }, Fingerprint { range: Range(311, 555), fp: EncodedCountingMonoid(7, SumMonoid(2565)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 311), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(311, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(311, 364), fp: EncodedCountingMonoid(4, SumMonoid(1326)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 311), items: [287, 309], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 311), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(311, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(311, 349), items: [311, 314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [311, 314, 343, 358, 364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(311, true), (314, true), (343, true), (358, true), (364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 309, 311, 314, 343, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 343, 358, 364, 421, 454, 205, 239, 269] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 331, 343, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4962)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2585)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1346)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 331, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [314, 331, 343, 358, 364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(314, true), (331, true), (343, true), (358, true), (364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 331, 343, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 331, 343, 358, 364, 421, 454, 205, 239, 269] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 331, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 331, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 331, 341, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 342, 343, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4973)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2596)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1357)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 342, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [314, 342, 343, 358, 364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(314, true), (342, true), (343, true), (358, true), (364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 342, 343, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 342, 343, 358, 364, 421, 454, 205, 239, 269] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 342, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 342, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 342, 343, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 348, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4979)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2602)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1363)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343, 348], want_response: false }, ItemSet { range: Range(349, 364), items: [358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [314, 343, 348, 358, 364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(314, true), (343, true), (348, true), (358, true), (364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 348, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 343, 348, 358, 364, 421, 454, 205, 239, 269] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 348, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 348, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 348, 349, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 351, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4982)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2605)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1366)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [351, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [314, 343, 351, 358, 364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(314, true), (343, true), (351, true), (358, true), (364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 351, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 343, 351, 358, 364, 421, 454, 205, 239, 269] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 351, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 351, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 351, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 352, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4983)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2606)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1367)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [352, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [314, 343, 352, 358, 364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(314, true), (343, true), (352, true), (358, true), (364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 352, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 314, 343, 352, 358, 364, 421, 454, 205, 239, 269] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 352, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 352, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 32, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 311, 314, 315, 341, 343, 349, 352, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4984)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1396)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(164, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(287, 314), items: [287, 311], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(164, 255), fp: EncodedCountingMonoid(4, SumMonoid(748)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 287, 311], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(164, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (287, true), (311, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(164, 255), items: [164, 165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }], wants: [364, 421, 454, 205, 239, 269], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [164, 165, 195, 224, 255, 256, 258], provide: [(364, true), (421, true), (454, true), (205, true), (239, true), (269, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 311, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 164, 165, 195, 224, 255, 256, 258] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 287, 311, 364, 421, 454, 205, 239, 269] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 156, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4829)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1241)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52, 156], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 156, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (156, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 156, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 156, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 78, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4751)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1163)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52, 78], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 78, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (78, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 78, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 78, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 39, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4712)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1124)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 39), items: [1, 32], want_response: true }, ItemSet { range: Range(39, 164), items: [39, 52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 39), items: [20], want_response: false }, ItemSet { range: Range(39, 164), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 39, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (39, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 39, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 39, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 20, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4693)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1105)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 32), items: [1, 20], want_response: true }, ItemSet { range: Range(32, 164), items: [32, 52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 32), items: [20], want_response: false }, ItemSet { range: Range(32, 164), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 20, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 10, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4683)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1095)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 32), items: [1, 10], want_response: true }, ItemSet { range: Range(32, 164), items: [32, 52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 32), items: [20], want_response: false }, ItemSet { range: Range(32, 164), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 10, 32, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (10, true), (32, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 10, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 10, 32, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 5, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4678)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1090)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 32), items: [1, 5], want_response: true }, ItemSet { range: Range(32, 164), items: [32, 52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 32), items: [20], want_response: false }, ItemSet { range: Range(32, 164), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 5, 32, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (5, true), (32, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 5, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 5, 32, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 3, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4676)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1088)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 32), items: [1, 3], want_response: true }, ItemSet { range: Range(32, 164), items: [32, 52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 32), items: [20], want_response: false }, ItemSet { range: Range(32, 164), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 3, 32, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (3, true), (32, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 3, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 3, 32, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(16, SumMonoid(4675)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(8, SumMonoid(1087)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 32), items: [1, 2], want_response: true }, ItemSet { range: Range(32, 164), items: [32, 52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 32), items: [20], want_response: false }, ItemSet { range: Range(32, 164), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 32, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (32, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 32, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4673)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(1085)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 32], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 32, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (32, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 32, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 32, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 16, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4657)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(1069)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 16], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 16, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (16, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 16, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 16, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 8, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4649)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(1061)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 8], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 8, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (8, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 8, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 8, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 4, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4645)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(1057)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 4], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 4, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (4, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 4, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 4, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4643)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(1055)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 2], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(14, SumMonoid(4641)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(1367)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2293)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(165, 287), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 165), items: [1, 52], want_response: true }, ItemSet { range: Range(287, 343), items: [287, 314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(165, 255), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(255, 287), fp: EncodedCountingMonoid(3, SumMonoid(769)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(1, 165), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(287, 343), items: [289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [1, 52, 287, 314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [421, 454], want_response: false }, ItemSet { range: Range(165, 255), items: [205, 239], want_response: true }, ItemSet { range: Range(255, 287), items: [269], want_response: true }, ItemSet { range: Range(364, 417), items: [364], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(1, true), (52, true), (287, true), (314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 255), items: [165, 195, 224], want_response: false }, ItemSet { range: Range(255, 287), items: [255, 256, 258], want_response: false }, ItemSet { range: Range(364, 417), items: [368, 388, 404], want_response: false }], wants: [343, 353, 358, 421, 454, 205, 239, 269, 364], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [165, 195, 224, 255, 256, 258, 368, 388, 404], provide: [(343, true), (353, true), (358, true), (421, true), (454, true), (205, true), (239, true), (269, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 165, 195, 224, 255, 256, 258, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 52, 287, 314, 343, 353, 358, 421, 454, 205, 239, 269, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 269, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4643)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(1055)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 2], want_response: true }, ItemSet { range: Range(52, 164), items: [52], want_response: true }, ItemSet { range: Range(164, 269), items: [205, 239], want_response: true }, ItemSet { range: Range(269, 314), items: [269, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 269), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(269, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 52, 205, 239, 269, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (52, true), (205, true), (239, true), (269, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 52, 205, 239, 269, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 52, 205, 239, 269, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 52, 135, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4509)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(921)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 2], want_response: true }, ItemSet { range: Range(52, 164), items: [52, 135], want_response: true }, ItemSet { range: Range(164, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 314), items: [287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 287), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 52, 135, 205, 239, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (52, true), (135, true), (205, true), (239, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 52, 135, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 52, 135, 205, 239, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 52, 68, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4442)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(854)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 2], want_response: true }, ItemSet { range: Range(52, 164), items: [52, 68], want_response: true }, ItemSet { range: Range(164, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 314), items: [287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 287), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 52, 68, 205, 239, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (52, true), (68, true), (205, true), (239, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 52, 68, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 52, 68, 205, 239, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 34, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4408)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(820)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 34), items: [1, 2], want_response: true }, ItemSet { range: Range(34, 164), items: [34, 52], want_response: true }, ItemSet { range: Range(164, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 314), items: [287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 34), items: [20], want_response: false }, ItemSet { range: Range(34, 164), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 287), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 34, 52, 205, 239, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (34, true), (52, true), (205, true), (239, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 34, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 34, 52, 205, 239, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 17, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4391)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(803)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 17), items: [1, 2], want_response: true }, ItemSet { range: Range(17, 164), items: [17, 52], want_response: true }, ItemSet { range: Range(164, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 314), items: [287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 17), items: [], want_response: false }, ItemSet { range: Range(17, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 287), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 17, 52, 205, 239, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (17, true), (52, true), (205, true), (239, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 17, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 17, 52, 205, 239, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 9, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4383)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 9), items: [1, 2], want_response: true }, ItemSet { range: Range(9, 164), items: [9, 52], want_response: true }, ItemSet { range: Range(164, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 314), items: [287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 9), items: [], want_response: false }, ItemSet { range: Range(9, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 287), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 9, 52, 205, 239, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (9, true), (52, true), (205, true), (239, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 9, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 9, 52, 205, 239, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 5, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4379)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(791)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2], want_response: true }, ItemSet { range: Range(5, 164), items: [5, 52], want_response: true }, ItemSet { range: Range(164, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 314), items: [287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [], want_response: false }, ItemSet { range: Range(5, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 287), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 5, 52, 205, 239, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (5, true), (52, true), (205, true), (239, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 5, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 5, 52, 205, 239, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4377)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(789)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 3), items: [1, 2], want_response: true }, ItemSet { range: Range(3, 164), items: [3, 52], want_response: true }, ItemSet { range: Range(164, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 314), items: [287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 3), items: [], want_response: false }, ItemSet { range: Range(3, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 287), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 3, 52, 205, 239, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (3, true), (52, true), (205, true), (239, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 3, 52, 205, 239, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(14, SumMonoid(4374)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(1100)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2293)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 52), items: [1, 2], want_response: true }, ItemSet { range: Range(52, 165), items: [52], want_response: true }, ItemSet { range: Range(165, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 343), items: [287, 314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(1, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 165), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 287), items: [165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 343), items: [289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [1, 2, 52, 205, 239, 287, 314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [421, 454], want_response: false }, ItemSet { range: Range(364, 417), items: [364], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(1, true), (2, true), (52, true), (205, true), (239, true), (287, true), (314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 417), items: [368, 388, 404], want_response: false }], wants: [343, 353, 358, 421, 454, 364], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [368, 388, 404], provide: [(343, true), (353, true), (358, true), (421, true), (454, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 52, 205, 239, 287, 314, 343, 353, 358, 421, 454, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 239, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4377)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(789)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 3), items: [1, 2], want_response: true }, ItemSet { range: Range(3, 164), items: [3, 52], want_response: true }, ItemSet { range: Range(164, 287), items: [205, 239], want_response: true }, ItemSet { range: Range(287, 314), items: [287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 3), items: [], want_response: false }, ItemSet { range: Range(3, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 287), items: [164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 314), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [1, 2, 3, 52, 205, 239, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(1, true), (2, true), (3, true), (52, true), (205, true), (239, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 52, 205, 239, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 3, 52, 205, 239, 287, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 52, 120, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4258)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(670)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 52), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 120], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 52), items: [20, 44], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [54, 84, 94, 95, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 20, 44, 368, 388, 404, 417], provide: [(52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(54, true), (84, true), (94, true), (95, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (20, true), (44, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 52, 120, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 54, 84, 94, 95, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 20, 44, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 52, 60, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4198)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(610)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 52), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(52, 164), items: [52, 60], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 164), items: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 52), items: [20, 44], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [52, 60, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 52), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 20, 44, 368, 388, 404, 417], provide: [(52, true), (60, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (20, true), (44, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 52, 60, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 20, 44, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 52, 60, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 30, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4168)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(580)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 30), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(30, 164), items: [30, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(30, 164), items: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 30), items: [20], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [30, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 30), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 20, 368, 388, 404, 417], provide: [(30, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (20, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 30, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 20, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 30, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 15, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4153)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(565)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 15), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(15, 164), items: [15, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 15), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [15, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 15), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(15, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 15, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 15, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 8, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4146)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(558)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 8), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(8, 164), items: [8, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(8, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 8), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [8, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 8), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(8, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 8, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 8, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4142)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [4, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(4, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 4, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(14, SumMonoid(4138)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(864)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2293)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 3), items: [1, 2], want_response: true }, ItemSet { range: Range(3, 165), items: [3, 52], want_response: true }, ItemSet { range: Range(165, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(314, 343), items: [314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(1, 3), items: [], want_response: false }, ItemSet { range: Range(3, 165), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 314), items: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(314, 343), items: [315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [1, 2, 3, 52, 205, 287, 314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [421, 454], want_response: false }, ItemSet { range: Range(364, 417), items: [364], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(1, true), (2, true), (3, true), (52, true), (205, true), (287, true), (314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 417), items: [368, 388, 404], want_response: false }], wants: [343, 353, 358, 421, 454, 364], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [368, 388, 404], provide: [(343, true), (353, true), (358, true), (421, true), (454, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 3, 52, 205, 287, 314, 343, 353, 358, 421, 454, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(14, SumMonoid(4138)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(864)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2293)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(1, 3), items: [1, 2], want_response: true }, ItemSet { range: Range(3, 165), items: [3, 52], want_response: true }, ItemSet { range: Range(165, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(314, 343), items: [314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(1, 3), items: [], want_response: false }, ItemSet { range: Range(3, 165), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 314), items: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(314, 343), items: [315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [1, 2, 3, 52, 205, 287, 314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [421, 454], want_response: false }, ItemSet { range: Range(364, 417), items: [364], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(1, true), (2, true), (3, true), (52, true), (205, true), (287, true), (314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 417), items: [368, 388, 404], want_response: false }], wants: [343, 353, 358, 421, 454, 364], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [368, 388, 404], provide: [(343, true), (353, true), (358, true), (421, true), (454, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 1, 2, 3, 52, 205, 287, 314, 343, 353, 358, 421, 454, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 981, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(15, SumMonoid(4142)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 982), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(982, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 982), items: [981], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 982), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [981], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(981, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [4, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(4, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 981} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [981, 4, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 491} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 492), fp: EncodedCountingMonoid(15, SumMonoid(3652)) }], item_sets: [ItemSet { range: Range(492, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 258), fp: EncodedCountingMonoid(18, SumMonoid(2498)) }, Fingerprint { range: Range(258, 492), fp: EncodedCountingMonoid(18, SumMonoid(6762)) }], item_sets: [ItemSet { range: Range(492, 1), items: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 258), fp: EncodedCountingMonoid(3, SumMonoid(261)) }, Fingerprint { range: Range(258, 364), fp: EncodedCountingMonoid(5, SumMonoid(1655)) }, Fingerprint { range: Range(364, 492), fp: EncodedCountingMonoid(4, SumMonoid(1730)) }], item_sets: [], wants: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 151), fp: EncodedCountingMonoid(9, SumMonoid(779)) }, Fingerprint { range: Range(151, 258), fp: EncodedCountingMonoid(9, SumMonoid(1719)) }, Fingerprint { range: Range(258, 315), fp: EncodedCountingMonoid(5, SumMonoid(1452)) }, Fingerprint { range: Range(315, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(5, SumMonoid(2036)) }, Fingerprint { range: Range(465, 492), fp: EncodedCountingMonoid(4, SumMonoid(1906)) }], item_sets: [ItemSet { range: Range(1, 4), items: [], want_response: true }], wants: [], provide: [(512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true), (986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(4, 151), items: [4, 52], want_response: true }, ItemSet { range: Range(151, 258), items: [205], want_response: true }, ItemSet { range: Range(258, 315), items: [287, 314], want_response: true }, ItemSet { range: Range(315, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 364), items: [358], want_response: true }, ItemSet { range: Range(364, 454), items: [364, 421], want_response: true }, ItemSet { range: Range(454, 465), items: [454], want_response: true }, ItemSet { range: Range(465, 492), items: [491], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 151), items: [20, 44, 54, 84, 94, 95, 120, 124, 144], want_response: false }, ItemSet { range: Range(151, 258), items: [151, 152, 157, 164, 165, 195, 224, 255, 256], want_response: false }, ItemSet { range: Range(258, 315), items: [258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(315, 358), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(358, 364), items: [363], want_response: false }, ItemSet { range: Range(364, 454), items: [368, 388, 404, 417], want_response: false }, ItemSet { range: Range(454, 465), items: [459], want_response: false }, ItemSet { range: Range(465, 492), items: [465, 478, 479, 484], want_response: false }], wants: [1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 491], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484], provide: [(1, true), (2, true), (3, true), (4, true), (52, true), (205, true), (287, true), (314, true), (343, true), (353, true), (358, true), (364, true), (421, true), (454, true), (491, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 491} + [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 491] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 491, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 491, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 491, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 736} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 737), fp: EncodedCountingMonoid(15, SumMonoid(3897)) }], item_sets: [ItemSet { range: Range(737, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 368), fp: EncodedCountingMonoid(27, SumMonoid(5318)) }, Fingerprint { range: Range(368, 737), fp: EncodedCountingMonoid(26, SumMonoid(14763)) }], item_sets: [ItemSet { range: Range(737, 1), items: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 287), fp: EncodedCountingMonoid(6, SumMonoid(267)) }, Fingerprint { range: Range(287, 368), fp: EncodedCountingMonoid(6, SumMonoid(2019)) }], item_sets: [ItemSet { range: Range(368, 736), items: [421, 454], want_response: true }, ItemSet { range: Range(736, 737), items: [736], want_response: true }], wants: [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 152), fp: EncodedCountingMonoid(10, SumMonoid(930)) }, Fingerprint { range: Range(152, 287), fp: EncodedCountingMonoid(9, SumMonoid(1826)) }, Fingerprint { range: Range(287, 315), fp: EncodedCountingMonoid(4, SumMonoid(1194)) }, Fingerprint { range: Range(315, 368), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }], item_sets: [ItemSet { range: Range(368, 736), items: [368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727], want_response: false }, ItemSet { range: Range(736, 737), items: [], want_response: false }], wants: [421, 454, 736], provide: [(749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true), (986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }], item_sets: [ItemSet { range: Range(4, 152), items: [4, 52], want_response: true }, ItemSet { range: Range(152, 287), items: [205], want_response: true }, ItemSet { range: Range(287, 315), items: [287, 314], want_response: true }, ItemSet { range: Range(315, 358), items: [343, 353], want_response: true }, ItemSet { range: Range(358, 368), items: [358, 364], want_response: true }], wants: [368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727], provide: [(421, true), (454, true), (736, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 152), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151], want_response: false }, ItemSet { range: Range(152, 287), items: [152, 157, 164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(287, 315), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(315, 358), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(358, 368), items: [363], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }], wants: [4, 52, 205, 287, 314, 343, 353, 358, 364], provide: [(368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363], provide: [(4, true), (52, true), (205, true), (287, true), (314, true), (343, true), (353, true), (358, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 736} + [749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [421, 454, 736, 4, 52, 205, 287, 314, 343, 353, 358, 364, 1, 2, 3] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 736, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 736, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 736, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 859} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 860), fp: EncodedCountingMonoid(15, SumMonoid(4020)) }], item_sets: [ItemSet { range: Range(860, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(34, SumMonoid(8297)) }, Fingerprint { range: Range(479, 860), fp: EncodedCountingMonoid(33, SumMonoid(22887)) }], item_sets: [ItemSet { range: Range(860, 1), items: [870, 876, 884, 886, 889, 893, 907, 909, 986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(479, 860), items: [859], want_response: true }], wants: [870, 876, 884, 886, 889, 893, 907, 909, 986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 479), fp: EncodedCountingMonoid(5, SumMonoid(2223)) }], item_sets: [ItemSet { range: Range(479, 860), items: [479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849], want_response: false }], wants: [859], provide: [(870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true), (986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(358, 404), items: [358, 364], want_response: true }, ItemSet { range: Range(404, 479), items: [421, 454], want_response: true }], wants: [479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849], provide: [(859, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }, ItemSet { range: Range(404, 479), items: [404, 417, 459, 465, 478], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }], wants: [4, 52, 205, 287, 358, 364, 421, 454], provide: [(479, true), (484, true), (512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 315, 341, 349], provide: [(4, true), (52, true), (205, true), (287, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 314, 343, 353], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (314, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 859} + [870, 876, 884, 886, 889, 893, 907, 909, 986, 995, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [859, 4, 52, 205, 287, 358, 364, 421, 454, 1, 2, 3, 314, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 859, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 859, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 859, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 920} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 921), fp: EncodedCountingMonoid(15, SumMonoid(4081)) }], item_sets: [ItemSet { range: Range(921, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 921), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(921, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 921), items: [920], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 921), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [920], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(920, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [4, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(4, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 920} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [920, 4, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 890} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 891), fp: EncodedCountingMonoid(15, SumMonoid(4051)) }], item_sets: [ItemSet { range: Range(891, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 512), fp: EncodedCountingMonoid(36, SumMonoid(9260)) }, Fingerprint { range: Range(512, 891), fp: EncodedCountingMonoid(36, SumMonoid(26329)) }], item_sets: [ItemSet { range: Range(891, 1), items: [893, 907, 909, 986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 512), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(512, 891), items: [890], want_response: true }], wants: [893, 907, 909, 986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 512), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(512, 891), items: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889], want_response: false }], wants: [890], provide: [(893, true), (907, true), (909, true), (986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(358, 417), items: [358, 364], want_response: true }, ItemSet { range: Range(417, 512), items: [421, 454], want_response: true }], wants: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889], provide: [(890, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(358, 417), items: [363, 368, 388, 404], want_response: false }, ItemSet { range: Range(417, 512), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }], wants: [4, 52, 205, 287, 358, 364, 421, 454], provide: [(512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 315, 341, 349], provide: [(4, true), (52, true), (205, true), (287, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 314, 343, 353], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (314, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 890} + [893, 907, 909, 986, 995, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [890, 4, 52, 205, 287, 358, 364, 421, 454, 1, 2, 3, 314, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 890, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 890, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 890, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 905} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 906), fp: EncodedCountingMonoid(15, SumMonoid(4066)) }], item_sets: [ItemSet { range: Range(906, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(37, SumMonoid(9772)) }, Fingerprint { range: Range(552, 906), fp: EncodedCountingMonoid(36, SumMonoid(26710)) }], item_sets: [ItemSet { range: Range(906, 1), items: [907, 909, 986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(552, 906), items: [905], want_response: true }], wants: [907, 909, 986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 906), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893], want_response: false }], wants: [905], provide: [(907, true), (909, true), (986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(358, 417), items: [358, 364], want_response: true }, ItemSet { range: Range(417, 552), items: [421, 454], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [(905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(358, 417), items: [363, 368, 388, 404], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }], wants: [4, 52, 205, 287, 358, 364, 421, 454], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 315, 341, 349], provide: [(4, true), (52, true), (205, true), (287, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 314, 343, 353], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (314, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 905} + [907, 909, 986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [905, 4, 52, 205, 287, 358, 364, 421, 454, 1, 2, 3, 314, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 905, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 905, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 905, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 913} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 914), fp: EncodedCountingMonoid(15, SumMonoid(4074)) }], item_sets: [ItemSet { range: Range(914, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 914), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(914, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 914), items: [913], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 914), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [913], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], provide: [(913, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [4, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true), (909, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(4, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 913} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [913, 4, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(4070)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [4, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(4, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [4, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 907} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 908), fp: EncodedCountingMonoid(15, SumMonoid(4068)) }], item_sets: [ItemSet { range: Range(908, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(37, SumMonoid(9772)) }, Fingerprint { range: Range(552, 908), fp: EncodedCountingMonoid(37, SumMonoid(27617)) }], item_sets: [ItemSet { range: Range(908, 1), items: [909, 986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(552, 908), items: [907], want_response: true }], wants: [909, 986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 908), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], want_response: false }], wants: [], provide: [(909, true), (986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(358, 417), items: [358, 364], want_response: true }, ItemSet { range: Range(417, 552), items: [421, 454], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(358, 417), items: [363, 368, 388, 404], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }], wants: [4, 52, 205, 287, 358, 364, 421, 454], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 315, 341, 349], provide: [(4, true), (52, true), (205, true), (287, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 314, 343, 353], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (314, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 907} + [909, 986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [4, 52, 205, 287, 358, 364, 421, 454, 1, 2, 3, 314, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 908} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 909), fp: EncodedCountingMonoid(15, SumMonoid(4069)) }], item_sets: [ItemSet { range: Range(909, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(37, SumMonoid(9772)) }, Fingerprint { range: Range(552, 909), fp: EncodedCountingMonoid(37, SumMonoid(27617)) }], item_sets: [ItemSet { range: Range(909, 1), items: [909, 986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(552, 909), items: [908], want_response: true }], wants: [909, 986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 909), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], want_response: false }], wants: [908], provide: [(909, true), (986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(358, 417), items: [358, 364], want_response: true }, ItemSet { range: Range(417, 552), items: [421, 454], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [(908, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(358, 417), items: [363, 368, 388, 404], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }], wants: [4, 52, 205, 287, 358, 364, 421, 454], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 315, 341, 349], provide: [(4, true), (52, true), (205, true), (287, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 314, 343, 353], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (314, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 908} + [909, 986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [908, 4, 52, 205, 287, 358, 364, 421, 454, 1, 2, 3, 314, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 908, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 908, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 287, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 908, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(4070)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(554)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(4, 164), items: [4, 52], want_response: true }, ItemSet { range: Range(164, 314), items: [205, 287], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 164), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [4, 52, 205, 287], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(4, true), (52, true), (205, true), (287, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 364, 421, 454], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 287, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [4, 52, 205, 287, 1, 2, 3, 364, 421, 454] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 144, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3927)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(411)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(200)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 120), items: [4, 52], want_response: true }, ItemSet { range: Range(120, 164), items: [144], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 120), items: [20, 44, 54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 144, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 72, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3855)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(339)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(128)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 72), items: [4, 52], want_response: true }, ItemSet { range: Range(72, 120), items: [72], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 72), items: [20, 44, 54], want_response: false }, ItemSet { range: Range(72, 120), items: [84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 52, 72], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (52, true), (72, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 72, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 52, 72] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 36, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3819)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(303)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(92)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 36], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 36, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (36, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 36, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 36, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 18, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3801)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(74)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 18], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 18, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (18, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 18, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 18, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 9, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3792)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(276)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(65)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 9], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 9, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (9, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 9, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 9, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3788)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 5, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3783)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(581)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2293)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(4, 165), items: [4, 52], want_response: true }, ItemSet { range: Range(165, 343), items: [205, 314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(4, 165), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 343), items: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [4, 52, 205, 314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [421, 454], want_response: false }, ItemSet { range: Range(364, 417), items: [364], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(4, true), (52, true), (205, true), (314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 417), items: [368, 388, 404], want_response: false }], wants: [1, 2, 3, 343, 353, 358, 421, 454, 364], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [368, 388, 404], provide: [(1, true), (2, true), (3, true), (343, true), (353, true), (358, true), (421, true), (454, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [4, 52, 205, 314, 1, 2, 3, 343, 353, 358, 421, 454, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3783)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(581)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2293)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(4, 165), items: [4, 52], want_response: true }, ItemSet { range: Range(165, 343), items: [205, 314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(4, 165), items: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(165, 343), items: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [4, 52, 205, 314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [421, 454], want_response: false }, ItemSet { range: Range(364, 417), items: [364], want_response: true }], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(4, true), (52, true), (205, true), (314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 417), items: [368, 388, 404], want_response: false }], wants: [1, 2, 3, 343, 353, 358, 421, 454, 364], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [368, 388, 404], provide: [(1, true), (2, true), (3, true), (343, true), (353, true), (358, true), (421, true), (454, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [4, 52, 205, 314, 1, 2, 3, 343, 353, 358, 421, 454, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3788)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 5, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 157, 205, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3631)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 205), fp: EncodedCountingMonoid(7, SumMonoid(224)) }, Fingerprint { range: Range(205, 555), fp: EncodedCountingMonoid(7, SumMonoid(2498)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 144), fp: EncodedCountingMonoid(8, SumMonoid(635)) }, Fingerprint { range: Range(144, 205), fp: EncodedCountingMonoid(7, SumMonoid(1128)) }, Fingerprint { range: Range(205, 368), fp: EncodedCountingMonoid(12, SumMonoid(3555)) }, Fingerprint { range: Range(368, 555), fp: EncodedCountingMonoid(11, SumMonoid(5006)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 144), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(205, 358), fp: EncodedCountingMonoid(3, SumMonoid(901)) }], item_sets: [ItemSet { range: Range(144, 205), items: [157], want_response: true }, ItemSet { range: Range(358, 368), items: [358, 364], want_response: true }, ItemSet { range: Range(368, 555), items: [421, 454], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 94), fp: EncodedCountingMonoid(4, SumMonoid(202)) }, Fingerprint { range: Range(94, 144), fp: EncodedCountingMonoid(4, SumMonoid(433)) }, Fingerprint { range: Range(205, 306), fp: EncodedCountingMonoid(6, SumMonoid(1572)) }, Fingerprint { range: Range(306, 358), fp: EncodedCountingMonoid(5, SumMonoid(1620)) }], item_sets: [ItemSet { range: Range(144, 205), items: [144, 151, 152, 157, 164, 165, 195], want_response: false }, ItemSet { range: Range(358, 368), items: [363], want_response: false }, ItemSet { range: Range(368, 555), items: [368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }], wants: [358, 364, 421, 454], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 94), items: [52], want_response: true }, ItemSet { range: Range(94, 144), items: [], want_response: true }, ItemSet { range: Range(205, 306), items: [205], want_response: true }, ItemSet { range: Range(306, 358), items: [343, 353], want_response: true }], wants: [144, 151, 152, 164, 165, 195, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], provide: [(358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 94), items: [54, 84], want_response: false }, ItemSet { range: Range(94, 144), items: [94, 95, 120, 124], want_response: false }, ItemSet { range: Range(205, 306), items: [224, 255, 256, 258, 289, 290], want_response: false }, ItemSet { range: Range(306, 358), items: [306, 309, 315, 341, 349], want_response: false }], wants: [1, 2, 3, 4, 5, 52, 205, 343, 353], provide: [(144, true), (151, true), (152, true), (164, true), (165, true), (195, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (52, true), (205, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 157, 205, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 144, 151, 152, 164, 165, 195, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 20, 44, 54, 84, 94, 95, 120, 124, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [358, 364, 421, 454, 1, 2, 3, 4, 5, 52, 205, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 236, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3710)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 236), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(236, 555), fp: EncodedCountingMonoid(7, SumMonoid(2529)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 144), fp: EncodedCountingMonoid(8, SumMonoid(635)) }, Fingerprint { range: Range(144, 236), fp: EncodedCountingMonoid(8, SumMonoid(1352)) }, Fingerprint { range: Range(236, 368), fp: EncodedCountingMonoid(11, SumMonoid(3331)) }, Fingerprint { range: Range(368, 555), fp: EncodedCountingMonoid(11, SumMonoid(5006)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 144), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(236, 358), fp: EncodedCountingMonoid(3, SumMonoid(932)) }], item_sets: [ItemSet { range: Range(144, 236), items: [205], want_response: true }, ItemSet { range: Range(358, 368), items: [358, 364], want_response: true }, ItemSet { range: Range(368, 555), items: [421, 454], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 94), fp: EncodedCountingMonoid(4, SumMonoid(202)) }, Fingerprint { range: Range(94, 144), fp: EncodedCountingMonoid(4, SumMonoid(433)) }, Fingerprint { range: Range(236, 306), fp: EncodedCountingMonoid(5, SumMonoid(1348)) }, Fingerprint { range: Range(306, 358), fp: EncodedCountingMonoid(5, SumMonoid(1620)) }], item_sets: [ItemSet { range: Range(144, 236), items: [144, 151, 152, 157, 164, 165, 195, 224], want_response: false }, ItemSet { range: Range(358, 368), items: [363], want_response: false }, ItemSet { range: Range(368, 555), items: [368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }], wants: [205, 358, 364, 421, 454], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 94), items: [52], want_response: true }, ItemSet { range: Range(94, 144), items: [], want_response: true }, ItemSet { range: Range(236, 306), items: [236], want_response: true }, ItemSet { range: Range(306, 358), items: [343, 353], want_response: true }], wants: [144, 151, 152, 157, 164, 165, 195, 224, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], provide: [(205, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 94), items: [54, 84], want_response: false }, ItemSet { range: Range(94, 144), items: [94, 95, 120, 124], want_response: false }, ItemSet { range: Range(236, 306), items: [255, 256, 258, 289, 290], want_response: false }, ItemSet { range: Range(306, 358), items: [306, 309, 315, 341, 349], want_response: false }], wants: [1, 2, 3, 4, 5, 52, 236, 343, 353], provide: [(144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (52, true), (236, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 236, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 144, 151, 152, 157, 164, 165, 195, 224, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 20, 44, 54, 84, 94, 95, 120, 124, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 358, 364, 421, 454, 1, 2, 3, 4, 5, 52, 236, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 236, 255, 256, 258, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 236, 255, 256, 258, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 236, 255, 256, 258, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 275, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3749)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 275), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(275, 555), fp: EncodedCountingMonoid(7, SumMonoid(2568)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 152), fp: EncodedCountingMonoid(10, SumMonoid(930)) }, Fingerprint { range: Range(152, 275), fp: EncodedCountingMonoid(9, SumMonoid(1826)) }, Fingerprint { range: Range(275, 404), fp: EncodedCountingMonoid(10, SumMonoid(3318)) }, Fingerprint { range: Range(404, 555), fp: EncodedCountingMonoid(9, SumMonoid(4250)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 152), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(275, 358), fp: EncodedCountingMonoid(3, SumMonoid(971)) }], item_sets: [ItemSet { range: Range(152, 275), items: [205], want_response: true }, ItemSet { range: Range(358, 404), items: [358, 364], want_response: true }, ItemSet { range: Range(404, 555), items: [421, 454], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 152), fp: EncodedCountingMonoid(5, SumMonoid(634)) }, Fingerprint { range: Range(275, 315), fp: EncodedCountingMonoid(4, SumMonoid(1194)) }, Fingerprint { range: Range(315, 358), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }], item_sets: [ItemSet { range: Range(152, 275), items: [152, 157, 164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }, ItemSet { range: Range(404, 555), items: [404, 417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }], wants: [205, 358, 364, 421, 454], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 95), items: [52], want_response: true }, ItemSet { range: Range(95, 152), items: [], want_response: true }, ItemSet { range: Range(275, 315), items: [275], want_response: true }, ItemSet { range: Range(315, 358), items: [343, 353], want_response: true }], wants: [152, 157, 164, 165, 195, 224, 255, 256, 258, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], provide: [(205, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 152), items: [95, 120, 124, 144, 151], want_response: false }, ItemSet { range: Range(275, 315), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(315, 358), items: [315, 341, 349], want_response: false }], wants: [1, 2, 3, 4, 5, 52, 275, 343, 353], provide: [(152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 289, 290, 306, 309, 315, 341, 349], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (52, true), (275, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 275, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 152, 157, 164, 165, 195, 224, 255, 256, 258, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 289, 290, 306, 309, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 358, 364, 421, 454, 1, 2, 3, 4, 5, 52, 275, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 275, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 275, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 275, 289, 290, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 295, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3769)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 295), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(295, 555), fp: EncodedCountingMonoid(7, SumMonoid(2588)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 157), fp: EncodedCountingMonoid(11, SumMonoid(1082)) }, Fingerprint { range: Range(157, 295), fp: EncodedCountingMonoid(10, SumMonoid(2253)) }, Fingerprint { range: Range(295, 417), fp: EncodedCountingMonoid(9, SumMonoid(3143)) }, Fingerprint { range: Range(417, 555), fp: EncodedCountingMonoid(8, SumMonoid(3846)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 157), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(295, 358), fp: EncodedCountingMonoid(3, SumMonoid(991)) }], item_sets: [ItemSet { range: Range(157, 295), items: [205], want_response: true }, ItemSet { range: Range(358, 417), items: [358, 364], want_response: true }, ItemSet { range: Range(417, 555), items: [421, 454], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 157), fp: EncodedCountingMonoid(5, SumMonoid(691)) }, Fingerprint { range: Range(295, 341), fp: EncodedCountingMonoid(3, SumMonoid(930)) }], item_sets: [ItemSet { range: Range(157, 295), items: [157, 164, 165, 195, 224, 255, 256, 258, 289, 290], want_response: false }, ItemSet { range: Range(358, 417), items: [363, 368, 388, 404], want_response: false }, ItemSet { range: Range(417, 555), items: [417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(341, 358), items: [341, 349], want_response: true }], wants: [205, 358, 364, 421, 454], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(341, 358), items: [343, 353], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 157), items: [], want_response: true }, ItemSet { range: Range(295, 341), items: [295], want_response: true }], wants: [157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 341, 349], provide: [(205, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 157), items: [120, 124, 144, 151, 152], want_response: false }, ItemSet { range: Range(295, 341), items: [306, 309, 315], want_response: false }], wants: [1, 2, 3, 343, 353, 4, 5, 52, 295], provide: [(157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 306, 309, 315], provide: [(1, true), (2, true), (3, true), (343, true), (353, true), (4, true), (5, true), (52, true), (295, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (306, true), (309, true), (315, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 295, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 341, 349, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 306, 309, 315] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 358, 364, 421, 454, 1, 2, 3, 343, 353, 4, 5, 52, 295] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 295, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 295, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 295, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 305, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3779)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 305), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(305, 555), fp: EncodedCountingMonoid(7, SumMonoid(2598)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 157), fp: EncodedCountingMonoid(11, SumMonoid(1082)) }, Fingerprint { range: Range(157, 305), fp: EncodedCountingMonoid(10, SumMonoid(2253)) }, Fingerprint { range: Range(305, 417), fp: EncodedCountingMonoid(9, SumMonoid(3143)) }, Fingerprint { range: Range(417, 555), fp: EncodedCountingMonoid(8, SumMonoid(3846)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 157), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(305, 358), fp: EncodedCountingMonoid(3, SumMonoid(1001)) }], item_sets: [ItemSet { range: Range(157, 305), items: [205], want_response: true }, ItemSet { range: Range(358, 417), items: [358, 364], want_response: true }, ItemSet { range: Range(417, 555), items: [421, 454], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 157), fp: EncodedCountingMonoid(5, SumMonoid(691)) }, Fingerprint { range: Range(305, 341), fp: EncodedCountingMonoid(3, SumMonoid(930)) }], item_sets: [ItemSet { range: Range(157, 305), items: [157, 164, 165, 195, 224, 255, 256, 258, 289, 290], want_response: false }, ItemSet { range: Range(358, 417), items: [363, 368, 388, 404], want_response: false }, ItemSet { range: Range(417, 555), items: [417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(341, 358), items: [341, 349], want_response: true }], wants: [205, 358, 364, 421, 454], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(341, 358), items: [343, 353], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 157), items: [], want_response: true }, ItemSet { range: Range(305, 341), items: [305], want_response: true }], wants: [157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 341, 349], provide: [(205, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 157), items: [120, 124, 144, 151, 152], want_response: false }, ItemSet { range: Range(305, 341), items: [306, 309, 315], want_response: false }], wants: [1, 2, 3, 343, 353, 4, 5, 52, 305], provide: [(157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 306, 309, 315], provide: [(1, true), (2, true), (3, true), (343, true), (353, true), (4, true), (5, true), (52, true), (305, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (306, true), (309, true), (315, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 305, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 341, 349, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 306, 309, 315] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 358, 364, 421, 454, 1, 2, 3, 343, 353, 4, 5, 52, 305] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 305, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 305, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 305, 306, 309, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 310, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3784)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 310), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(310, 555), fp: EncodedCountingMonoid(7, SumMonoid(2603)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 310), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(310, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(310, 364), fp: EncodedCountingMonoid(4, SumMonoid(1364)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 310), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 310), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(310, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(310, 349), items: [310, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 310, 343, 353, 358, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (310, true), (343, true), (353, true), (358, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 310, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 310, 343, 353, 358, 364, 421, 454, 4, 5, 52] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 310, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 310, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 310, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 312, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3786)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 312), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(312, 555), fp: EncodedCountingMonoid(7, SumMonoid(2605)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 312), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(312, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(312, 364), fp: EncodedCountingMonoid(4, SumMonoid(1366)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 312), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 312), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(312, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(312, 349), items: [312, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 312, 343, 353, 358, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (312, true), (343, true), (353, true), (358, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 312, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 312, 343, 353, 358, 364, 421, 454, 4, 5, 52] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 312, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 312, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 312, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 313, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3787)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 313), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(313, 555), fp: EncodedCountingMonoid(7, SumMonoid(2606)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 313), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(313, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(313, 364), fp: EncodedCountingMonoid(4, SumMonoid(1367)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 313), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 313), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(313, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(313, 349), items: [313, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 313, 343, 353, 358, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (313, true), (343, true), (353, true), (358, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 313, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 313, 343, 353, 358, 364, 421, 454, 4, 5, 52] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 313, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 313, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 313, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3788)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 5, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 172, 205, 314, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3617)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 205), fp: EncodedCountingMonoid(7, SumMonoid(239)) }, Fingerprint { range: Range(205, 555), fp: EncodedCountingMonoid(7, SumMonoid(2469)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 144), fp: EncodedCountingMonoid(8, SumMonoid(635)) }, Fingerprint { range: Range(144, 205), fp: EncodedCountingMonoid(7, SumMonoid(1128)) }, Fingerprint { range: Range(205, 368), fp: EncodedCountingMonoid(12, SumMonoid(3555)) }, Fingerprint { range: Range(368, 555), fp: EncodedCountingMonoid(11, SumMonoid(5006)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 144), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(205, 358), fp: EncodedCountingMonoid(3, SumMonoid(872)) }], item_sets: [ItemSet { range: Range(144, 205), items: [172], want_response: true }, ItemSet { range: Range(358, 368), items: [358, 364], want_response: true }, ItemSet { range: Range(368, 555), items: [421, 454], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 94), fp: EncodedCountingMonoid(4, SumMonoid(202)) }, Fingerprint { range: Range(94, 144), fp: EncodedCountingMonoid(4, SumMonoid(433)) }, Fingerprint { range: Range(205, 306), fp: EncodedCountingMonoid(6, SumMonoid(1572)) }, Fingerprint { range: Range(306, 358), fp: EncodedCountingMonoid(5, SumMonoid(1620)) }], item_sets: [ItemSet { range: Range(144, 205), items: [144, 151, 152, 157, 164, 165, 195], want_response: false }, ItemSet { range: Range(358, 368), items: [363], want_response: false }, ItemSet { range: Range(368, 555), items: [368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }], wants: [172, 358, 364, 421, 454], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 94), items: [52], want_response: true }, ItemSet { range: Range(94, 144), items: [], want_response: true }, ItemSet { range: Range(205, 306), items: [205], want_response: true }, ItemSet { range: Range(306, 358), items: [314, 353], want_response: true }], wants: [144, 151, 152, 157, 164, 165, 195, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], provide: [(172, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 94), items: [54, 84], want_response: false }, ItemSet { range: Range(94, 144), items: [94, 95, 120, 124], want_response: false }, ItemSet { range: Range(205, 306), items: [224, 255, 256, 258, 289, 290], want_response: false }, ItemSet { range: Range(306, 358), items: [306, 309, 315, 341, 349], want_response: false }], wants: [1, 2, 3, 4, 5, 52, 205, 314, 353], provide: [(144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (52, true), (205, true), (314, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 172, 205, 314, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 144, 151, 152, 157, 164, 165, 195, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 20, 44, 54, 84, 94, 95, 120, 124, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [172, 358, 364, 421, 454, 1, 2, 3, 4, 5, 52, 205, 314, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 172, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 172, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 172, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 258, 314, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3703)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 258), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(258, 555), fp: EncodedCountingMonoid(7, SumMonoid(2522)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 151), fp: EncodedCountingMonoid(9, SumMonoid(779)) }, Fingerprint { range: Range(151, 258), fp: EncodedCountingMonoid(9, SumMonoid(1719)) }, Fingerprint { range: Range(258, 388), fp: EncodedCountingMonoid(10, SumMonoid(3188)) }, Fingerprint { range: Range(388, 555), fp: EncodedCountingMonoid(10, SumMonoid(4638)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 151), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(258, 358), fp: EncodedCountingMonoid(3, SumMonoid(925)) }], item_sets: [ItemSet { range: Range(151, 258), items: [205], want_response: true }, ItemSet { range: Range(358, 388), items: [358, 364], want_response: true }, ItemSet { range: Range(388, 555), items: [421, 454], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 151), fp: EncodedCountingMonoid(4, SumMonoid(483)) }, Fingerprint { range: Range(258, 309), fp: EncodedCountingMonoid(4, SumMonoid(1143)) }, Fingerprint { range: Range(309, 358), fp: EncodedCountingMonoid(4, SumMonoid(1314)) }], item_sets: [ItemSet { range: Range(151, 258), items: [151, 152, 157, 164, 165, 195, 224, 255, 256], want_response: false }, ItemSet { range: Range(358, 388), items: [363, 368], want_response: false }, ItemSet { range: Range(388, 555), items: [388, 404, 417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }], wants: [205, 358, 364, 421, 454], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 95), items: [52], want_response: true }, ItemSet { range: Range(95, 151), items: [], want_response: true }, ItemSet { range: Range(258, 309), items: [258], want_response: true }, ItemSet { range: Range(309, 358), items: [314, 353], want_response: true }], wants: [151, 152, 157, 164, 165, 195, 224, 255, 256, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], provide: [(205, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 151), items: [95, 120, 124, 144], want_response: false }, ItemSet { range: Range(258, 309), items: [258, 289, 290, 306], want_response: false }, ItemSet { range: Range(309, 358), items: [309, 315, 341, 349], want_response: false }], wants: [1, 2, 3, 4, 5, 52, 314, 353], provide: [(151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 289, 290, 306, 309, 315, 341, 349], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (52, true), (314, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 258, 314, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 151, 152, 157, 164, 165, 195, 224, 255, 256, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 20, 44, 54, 84, 94, 95, 120, 124, 144, 289, 290, 306, 309, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 358, 364, 421, 454, 1, 2, 3, 4, 5, 52, 314, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 301, 314, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3746)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 301), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(301, 555), fp: EncodedCountingMonoid(7, SumMonoid(2565)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 157), fp: EncodedCountingMonoid(11, SumMonoid(1082)) }, Fingerprint { range: Range(157, 301), fp: EncodedCountingMonoid(10, SumMonoid(2253)) }, Fingerprint { range: Range(301, 417), fp: EncodedCountingMonoid(9, SumMonoid(3143)) }, Fingerprint { range: Range(417, 555), fp: EncodedCountingMonoid(8, SumMonoid(3846)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 157), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(301, 358), fp: EncodedCountingMonoid(3, SumMonoid(968)) }], item_sets: [ItemSet { range: Range(157, 301), items: [205], want_response: true }, ItemSet { range: Range(358, 417), items: [358, 364], want_response: true }, ItemSet { range: Range(417, 555), items: [421, 454], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 157), fp: EncodedCountingMonoid(5, SumMonoid(691)) }, Fingerprint { range: Range(301, 341), fp: EncodedCountingMonoid(3, SumMonoid(930)) }], item_sets: [ItemSet { range: Range(157, 301), items: [157, 164, 165, 195, 224, 255, 256, 258, 289, 290], want_response: false }, ItemSet { range: Range(358, 417), items: [363, 368, 388, 404], want_response: false }, ItemSet { range: Range(417, 555), items: [417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(341, 358), items: [341, 349], want_response: true }], wants: [205, 358, 364, 421, 454], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(341, 358), items: [353], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 157), items: [], want_response: true }, ItemSet { range: Range(301, 341), items: [301, 314], want_response: true }], wants: [157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 341, 349], provide: [(205, true), (358, true), (364, true), (421, true), (454, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 157), items: [120, 124, 144, 151, 152], want_response: false }, ItemSet { range: Range(301, 341), items: [306, 309, 315], want_response: false }], wants: [1, 2, 3, 353, 4, 5, 52, 301, 314], provide: [(157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 306, 309, 315], provide: [(1, true), (2, true), (3, true), (353, true), (4, true), (5, true), (52, true), (301, true), (314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (306, true), (309, true), (315, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 301, 314, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 341, 349, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 306, 309, 315] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 358, 364, 421, 454, 1, 2, 3, 353, 4, 5, 52, 301, 314] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 301, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 301, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 301, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 322, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3767)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2586)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1347)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 322], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 314, 322, 353, 358, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (314, true), (322, true), (353, true), (358, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 322, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 314, 322, 353, 358, 364, 421, 454, 4, 5, 52] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 322, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 322, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 322, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 333, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3778)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2597)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1358)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 333], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 314, 333, 353, 358, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (314, true), (333, true), (353, true), (358, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 333, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 314, 333, 353, 358, 364, 421, 454, 4, 5, 52] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 333, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 333, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 333, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 338, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3783)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2602)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1363)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 338], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 314, 338, 353, 358, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (314, true), (338, true), (353, true), (358, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 338, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 314, 338, 353, 358, 364, 421, 454, 4, 5, 52] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 338, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 338, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 338, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 341, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3786)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2605)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1366)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 341], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 349, 363, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 314, 353, 358, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (314, true), (353, true), (358, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 341, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 314, 353, 358, 364, 421, 454, 4, 5, 52] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 342, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3787)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2606)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1367)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 342], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 314, 342, 353, 358, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (314, true), (342, true), (353, true), (358, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 342, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 314, 342, 353, 358, 364, 421, 454, 4, 5, 52] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 342, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 342, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 205, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 342, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3788)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(272)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 164), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [205], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [205], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 120), items: [52], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [(205, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 364, 421, 454, 4, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (364, true), (421, true), (454, true), (4, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 205, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [205, 1, 2, 3, 364, 421, 454, 4, 5, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 103, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3686)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(170)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(160)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(5, 103), items: [5, 52], want_response: true }, ItemSet { range: Range(103, 120), items: [103], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 103), items: [20, 44, 54, 84, 94, 95], want_response: false }, ItemSet { range: Range(103, 120), items: [], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 421, 454, 5, 52, 103], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (421, true), (454, true), (5, true), (52, true), (103, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 103, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 421, 454, 5, 52, 103] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3583)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(381)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2293)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 165), fp: EncodedCountingMonoid(3, SumMonoid(61)) }, Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(165, 343), items: [314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 124), fp: EncodedCountingMonoid(7, SumMonoid(511)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(6, SumMonoid(892)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(165, 343), items: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [421, 454], want_response: false }, ItemSet { range: Range(4, 52), items: [4, 5], want_response: true }, ItemSet { range: Range(52, 124), items: [52], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }, ItemSet { range: Range(364, 417), items: [364], want_response: true }], wants: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 52), items: [20, 44], want_response: false }, ItemSet { range: Range(52, 124), items: [54, 84, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(364, 417), items: [368, 388, 404], want_response: false }], wants: [1, 2, 3, 343, 353, 358, 421, 454, 4, 5, 52, 364], provide: [(165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 368, 388, 404], provide: [(1, true), (2, true), (3, true), (343, true), (353, true), (358, true), (421, true), (454, true), (4, true), (5, true), (52, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [314, 1, 2, 3, 343, 353, 358, 421, 454, 4, 5, 52, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 454, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 78, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3661)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(145)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(135)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(5, 78), items: [5, 52], want_response: true }, ItemSet { range: Range(78, 120), items: [78], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 78), items: [20, 44, 54], want_response: false }, ItemSet { range: Range(78, 120), items: [84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 421, 454, 5, 52, 78], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (421, true), (454, true), (5, true), (52, true), (78, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 78, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 421, 454, 5, 52, 78] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 65, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3648)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(132)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(122)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(5, 65), items: [5, 52], want_response: true }, ItemSet { range: Range(65, 120), items: [65], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 65), items: [20, 44, 54], want_response: false }, ItemSet { range: Range(65, 120), items: [84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 421, 454, 5, 52, 65], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (421, true), (454, true), (5, true), (52, true), (65, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 65, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 421, 454, 5, 52, 65] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 59, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3642)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(126)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(116)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(5, 59), items: [5, 52], want_response: true }, ItemSet { range: Range(59, 120), items: [59], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 59), items: [20, 44, 54], want_response: false }, ItemSet { range: Range(59, 120), items: [84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 421, 454, 5, 52, 59], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (421, true), (454, true), (5, true), (52, true), (59, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 59, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 421, 454, 5, 52, 59] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 56, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3639)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(123)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(113)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(5, 56), items: [5, 52], want_response: true }, ItemSet { range: Range(56, 120), items: [56], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 56), items: [20, 44, 54], want_response: false }, ItemSet { range: Range(56, 120), items: [84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 421, 454, 5, 52, 56], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (421, true), (454, true), (5, true), (52, true), (56, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 56, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 421, 454, 5, 52, 56] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 54, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3637)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(121)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(111)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(5, 54), items: [5, 52], want_response: true }, ItemSet { range: Range(54, 120), items: [54], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 54), items: [20, 44], want_response: false }, ItemSet { range: Range(54, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 421, 454, 5, 52], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (421, true), (454, true), (5, true), (52, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 54, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 421, 454, 5, 52] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 421, 454, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3636)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1239)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364], want_response: false }, ItemSet { range: Range(404, 459), items: [421, 454], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 421, 454, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (421, true), (454, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 421, 454, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 421, 454, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 227, 314, 343, 353, 358, 364, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3409)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 227), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(227, 555), fp: EncodedCountingMonoid(7, SumMonoid(2380)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 144), fp: EncodedCountingMonoid(8, SumMonoid(635)) }, Fingerprint { range: Range(144, 227), fp: EncodedCountingMonoid(8, SumMonoid(1352)) }, Fingerprint { range: Range(227, 368), fp: EncodedCountingMonoid(11, SumMonoid(3331)) }, Fingerprint { range: Range(368, 555), fp: EncodedCountingMonoid(11, SumMonoid(5006)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(227, 353), fp: EncodedCountingMonoid(3, SumMonoid(884)) }, Fingerprint { range: Range(353, 368), fp: EncodedCountingMonoid(3, SumMonoid(1075)) }], item_sets: [ItemSet { range: Range(144, 227), items: [], want_response: true }, ItemSet { range: Range(368, 555), items: [421], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 94), fp: EncodedCountingMonoid(4, SumMonoid(202)) }, Fingerprint { range: Range(94, 144), fp: EncodedCountingMonoid(4, SumMonoid(433)) }, Fingerprint { range: Range(227, 306), fp: EncodedCountingMonoid(5, SumMonoid(1348)) }, Fingerprint { range: Range(306, 353), fp: EncodedCountingMonoid(5, SumMonoid(1620)) }], item_sets: [ItemSet { range: Range(144, 227), items: [144, 151, 152, 157, 164, 165, 195, 224], want_response: false }, ItemSet { range: Range(368, 555), items: [368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(353, 368), items: [363], want_response: true }], wants: [421], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(353, 368), items: [353, 358, 364], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 94), items: [53], want_response: true }, ItemSet { range: Range(94, 144), items: [], want_response: true }, ItemSet { range: Range(227, 306), items: [227], want_response: true }, ItemSet { range: Range(306, 353), items: [314, 343], want_response: true }], wants: [144, 151, 152, 157, 164, 165, 195, 224, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 363], provide: [(421, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 94), items: [54, 84], want_response: false }, ItemSet { range: Range(94, 144), items: [94, 95, 120, 124], want_response: false }, ItemSet { range: Range(227, 306), items: [255, 256, 258, 289, 290], want_response: false }, ItemSet { range: Range(306, 353), items: [306, 309, 315, 341, 349], want_response: false }], wants: [1, 2, 3, 4, 353, 358, 364, 5, 52, 53, 227, 314, 343], provide: [(144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349], provide: [(1, true), (2, true), (3, true), (4, true), (353, true), (358, true), (364, true), (5, true), (52, true), (53, true), (227, true), (314, true), (343, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 227, 314, 343, 353, 358, 364, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 144, 151, 152, 157, 164, 165, 195, 224, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 363, 20, 44, 54, 84, 94, 95, 120, 124, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [421, 1, 2, 3, 4, 353, 358, 364, 5, 52, 53, 227, 314, 343] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 227, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 227, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 227, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 341, 343, 353, 358, 364, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3523)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2494)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(4, SumMonoid(1351)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1143)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 341, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(358, 404), items: [358, 364], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 421, 5, 52, 53, 358, 364], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (421, true), (5, true), (52, true), (53, true), (358, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 341, 343, 353, 358, 364, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 421, 5, 52, 53, 358, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 398, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3580)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2551)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1183)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 398], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 398, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (398, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 398, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 398, 421, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 370, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3552)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2523)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 370], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 370, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (370, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 370, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 370, 421, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 356, 358, 364, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3538)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2509)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(4, SumMonoid(1366)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1143)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353, 356], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(358, 404), items: [358, 364], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 356, 421, 5, 52, 53, 358, 364], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (356, true), (421, true), (5, true), (52, true), (53, true), (358, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 356, 358, 364, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 356, 421, 5, 52, 53, 358, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 363, 364, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3545)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2516)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(363, 459), fp: EncodedCountingMonoid(3, SumMonoid(1148)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(363, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 363), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 363), items: [353, 358], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(363, 404), items: [363, 364], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(363, 404), items: [363, 368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 358, 421, 5, 52, 53, 364], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (358, true), (421, true), (5, true), (52, true), (53, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 363, 364, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 358, 421, 5, 52, 53, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 367, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3549)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2520)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1152)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 367], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 367, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (367, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 367, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 367, 421, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3547)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2518)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 421, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3182)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(6, SumMonoid(2153)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1143)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(358, 404), items: [358, 364], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(358, 404), items: [363, 368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 421, 5, 52, 53, 358, 364], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (421, true), (5, true), (52, true), (53, true), (358, true), (364, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 421, 5, 52, 53, 358, 364] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3547)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2518)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 421, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 179, 314, 343, 353, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3368)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 179), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(179, 555), fp: EncodedCountingMonoid(7, SumMonoid(2339)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 124), fp: EncodedCountingMonoid(7, SumMonoid(511)) }, Fingerprint { range: Range(124, 179), fp: EncodedCountingMonoid(7, SumMonoid(1057)) }, Fingerprint { range: Range(179, 363), fp: EncodedCountingMonoid(12, SumMonoid(3387)) }, Fingerprint { range: Range(363, 555), fp: EncodedCountingMonoid(12, SumMonoid(5369)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(3, SumMonoid(110)) }], item_sets: [ItemSet { range: Range(124, 179), items: [], want_response: true }, ItemSet { range: Range(179, 343), items: [179, 314], want_response: true }, ItemSet { range: Range(343, 363), items: [343, 353], want_response: true }, ItemSet { range: Range(363, 421), items: [364, 365], want_response: true }, ItemSet { range: Range(421, 555), items: [421], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 94), fp: EncodedCountingMonoid(4, SumMonoid(202)) }, Fingerprint { range: Range(94, 124), fp: EncodedCountingMonoid(3, SumMonoid(309)) }], item_sets: [ItemSet { range: Range(124, 179), items: [124, 144, 151, 152, 157, 164, 165], want_response: false }, ItemSet { range: Range(179, 343), items: [195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(343, 363), items: [349], want_response: false }, ItemSet { range: Range(363, 421), items: [363, 368, 388, 404, 417], want_response: false }, ItemSet { range: Range(421, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }], wants: [179, 314, 343, 353, 364, 365, 421], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 94), items: [53], want_response: true }, ItemSet { range: Range(94, 124), items: [], want_response: true }], wants: [124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], provide: [(179, true), (314, true), (343, true), (353, true), (364, true), (365, true), (421, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 94), items: [54, 84], want_response: false }, ItemSet { range: Range(94, 124), items: [94, 95, 120], want_response: false }], wants: [1, 2, 3, 4, 5, 52, 53], provide: [(124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 179, 314, 343, 353, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 20, 44, 54, 84, 94, 95, 120] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [179, 314, 343, 353, 364, 365, 421, 1, 2, 3, 4, 5, 52, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 179, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 179, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 179, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 269, 314, 343, 353, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3458)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 269), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(269, 555), fp: EncodedCountingMonoid(7, SumMonoid(2429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 152), fp: EncodedCountingMonoid(10, SumMonoid(930)) }, Fingerprint { range: Range(152, 269), fp: EncodedCountingMonoid(9, SumMonoid(1826)) }, Fingerprint { range: Range(269, 404), fp: EncodedCountingMonoid(10, SumMonoid(3318)) }, Fingerprint { range: Range(404, 555), fp: EncodedCountingMonoid(9, SumMonoid(4250)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 152), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(269, 353), fp: EncodedCountingMonoid(3, SumMonoid(926)) }, Fingerprint { range: Range(353, 404), fp: EncodedCountingMonoid(3, SumMonoid(1082)) }], item_sets: [ItemSet { range: Range(152, 269), items: [], want_response: true }, ItemSet { range: Range(404, 555), items: [421], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 152), fp: EncodedCountingMonoid(5, SumMonoid(634)) }, Fingerprint { range: Range(269, 315), fp: EncodedCountingMonoid(4, SumMonoid(1194)) }, Fingerprint { range: Range(315, 353), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }], item_sets: [ItemSet { range: Range(152, 269), items: [152, 157, 164, 165, 195, 224, 255, 256, 258], want_response: false }, ItemSet { range: Range(404, 555), items: [404, 417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(353, 388), items: [363, 368], want_response: true }, ItemSet { range: Range(388, 404), items: [388], want_response: true }], wants: [421], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(353, 388), items: [353, 364, 365], want_response: false }, ItemSet { range: Range(388, 404), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 152), items: [], want_response: true }, ItemSet { range: Range(269, 315), items: [269, 314], want_response: true }, ItemSet { range: Range(315, 353), items: [343], want_response: true }], wants: [152, 157, 164, 165, 195, 224, 255, 256, 258, 404, 417, 459, 465, 478, 479, 484, 512, 552, 363, 368, 388], provide: [(421, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 152), items: [95, 120, 124, 144, 151], want_response: false }, ItemSet { range: Range(269, 315), items: [289, 290, 306, 309], want_response: false }, ItemSet { range: Range(315, 353), items: [315, 341, 349], want_response: false }], wants: [1, 2, 3, 4, 353, 364, 365, 5, 52, 53, 269, 314, 343], provide: [(152, true), (157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 289, 290, 306, 309, 315, 341, 349], provide: [(1, true), (2, true), (3, true), (4, true), (353, true), (364, true), (365, true), (5, true), (52, true), (53, true), (269, true), (314, true), (343, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 269, 314, 343, 353, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 152, 157, 164, 165, 195, 224, 255, 256, 258, 404, 417, 459, 465, 478, 479, 484, 512, 552, 363, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 289, 290, 306, 309, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [421, 1, 2, 3, 4, 353, 364, 365, 5, 52, 53, 269, 314, 343] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 269, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 269, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 269, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3189)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(6, SumMonoid(2160)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 364, 365, 421, 5, 52, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 336, 343, 353, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3525)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2496)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1346)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 336, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 314, 336, 343, 353, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (336, true), (343, true), (353, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 336, 343, 353, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 336, 343, 353, 364, 365, 421, 5, 52, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 336, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 336, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 336, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 347, 353, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3536)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2507)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1357)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343, 347], want_response: false }, ItemSet { range: Range(349, 364), items: [353], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 347, 353, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (347, true), (353, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 347, 353, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 347, 353, 364, 365, 421, 5, 52, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 347, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 347, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 347, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3189)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(6, SumMonoid(2160)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 364, 365, 421, 5, 52, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 356, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3545)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2516)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1366)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 356], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 356, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (356, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 356, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 356, 364, 365, 421, 5, 52, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 357, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3546)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2517)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1367)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 357], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 357, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (363, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (357, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 357, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 363, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 357, 364, 365, 421, 5, 52, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 357, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 357, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 357, 363, 364, 365, 368, 388, 404, 417, 421, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 421, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3547)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2518)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1150)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365], want_response: false }, ItemSet { range: Range(404, 459), items: [421], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 421, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (421, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 421, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 421, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 211, 314, 343, 353, 358, 364, 365, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3337)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 211), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(211, 555), fp: EncodedCountingMonoid(7, SumMonoid(2308)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 144), fp: EncodedCountingMonoid(8, SumMonoid(635)) }, Fingerprint { range: Range(144, 211), fp: EncodedCountingMonoid(7, SumMonoid(1128)) }, Fingerprint { range: Range(211, 368), fp: EncodedCountingMonoid(12, SumMonoid(3555)) }, Fingerprint { range: Range(368, 555), fp: EncodedCountingMonoid(11, SumMonoid(5006)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(211, 358), fp: EncodedCountingMonoid(4, SumMonoid(1221)) }, Fingerprint { range: Range(358, 368), fp: EncodedCountingMonoid(3, SumMonoid(1087)) }], item_sets: [ItemSet { range: Range(144, 211), items: [], want_response: true }, ItemSet { range: Range(368, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 94), fp: EncodedCountingMonoid(4, SumMonoid(202)) }, Fingerprint { range: Range(94, 144), fp: EncodedCountingMonoid(4, SumMonoid(433)) }, Fingerprint { range: Range(211, 306), fp: EncodedCountingMonoid(6, SumMonoid(1572)) }, Fingerprint { range: Range(306, 358), fp: EncodedCountingMonoid(5, SumMonoid(1620)) }], item_sets: [ItemSet { range: Range(144, 211), items: [144, 151, 152, 157, 164, 165, 195], want_response: false }, ItemSet { range: Range(368, 555), items: [368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(358, 368), items: [363], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(358, 368), items: [358, 364, 365], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 94), items: [53], want_response: true }, ItemSet { range: Range(94, 144), items: [], want_response: true }, ItemSet { range: Range(211, 306), items: [211], want_response: true }, ItemSet { range: Range(306, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 358), items: [353], want_response: true }], wants: [144, 151, 152, 157, 164, 165, 195, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 363], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 94), items: [54, 84], want_response: false }, ItemSet { range: Range(94, 144), items: [94, 95, 120, 124], want_response: false }, ItemSet { range: Range(211, 306), items: [224, 255, 256, 258, 289, 290], want_response: false }, ItemSet { range: Range(306, 353), items: [306, 309, 315, 341, 349], want_response: false }, ItemSet { range: Range(353, 358), items: [], want_response: false }], wants: [1, 2, 3, 4, 358, 364, 365, 5, 52, 53, 211, 314, 343, 353], provide: [(144, true), (151, true), (152, true), (157, true), (164, true), (165, true), (195, true), (368, true), (388, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349], provide: [(1, true), (2, true), (3, true), (4, true), (358, true), (364, true), (365, true), (5, true), (52, true), (53, true), (211, true), (314, true), (343, true), (353, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (349, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 211, 314, 343, 353, 358, 364, 365, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 144, 151, 152, 157, 164, 165, 195, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 363, 20, 44, 54, 84, 94, 95, 120, 124, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 358, 364, 365, 5, 52, 53, 211, 314, 343, 353] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 211, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 211, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 211, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 316, 343, 353, 358, 364, 365, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3442)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2413)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(4, SumMonoid(1326)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1087)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 316, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(358, 365), items: [358, 364], want_response: true }, ItemSet { range: Range(365, 404), items: [365], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(358, 365), items: [363], want_response: false }, ItemSet { range: Range(365, 404), items: [368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 316, 343, 353, 5, 52, 53, 358, 364, 365], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (316, true), (343, true), (353, true), (5, true), (52, true), (53, true), (358, true), (364, true), (365, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 316, 343, 353, 358, 364, 365, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 316, 343, 353, 5, 52, 53, 358, 364, 365] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 316, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 316, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 316, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 369, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3495)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2466)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1098)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 369], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 369, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (369, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 369, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 369, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3126)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(6, SumMonoid(2097)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1087)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(358, 365), items: [358, 364], want_response: true }, ItemSet { range: Range(365, 404), items: [365], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(358, 365), items: [363], want_response: false }, ItemSet { range: Range(365, 404), items: [368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 5, 52, 53, 358, 364, 365], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (5, true), (52, true), (53, true), (358, true), (364, true), (365, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 5, 52, 53, 358, 364, 365] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 356, 358, 364, 365, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3482)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2453)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(4, SumMonoid(1366)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1087)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353, 356], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(358, 365), items: [358, 364], want_response: true }, ItemSet { range: Range(365, 404), items: [365], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(358, 365), items: [363], want_response: false }, ItemSet { range: Range(365, 404), items: [368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 356, 5, 52, 53, 358, 364, 365], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (356, true), (5, true), (52, true), (53, true), (358, true), (364, true), (365, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 356, 358, 364, 365, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 356, 5, 52, 53, 358, 364, 365] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 356, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 363, 364, 365, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3489)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2460)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(363, 459), fp: EncodedCountingMonoid(3, SumMonoid(1092)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(363, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 363), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 363), items: [353, 358], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(363, 365), items: [363, 364], want_response: true }, ItemSet { range: Range(365, 404), items: [365], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(363, 365), items: [363], want_response: false }, ItemSet { range: Range(365, 404), items: [368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 358, 5, 52, 53, 364, 365], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (358, true), (5, true), (52, true), (53, true), (364, true), (365, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 363, 364, 365, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 358, 5, 52, 53, 364, 365] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3492)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3126)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(6, SumMonoid(2097)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 358), fp: EncodedCountingMonoid(3, SumMonoid(1010)) }, Fingerprint { range: Range(358, 459), fp: EncodedCountingMonoid(3, SumMonoid(1087)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }, Fingerprint { range: Range(358, 404), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 358), items: [349], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 358), items: [353], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }, ItemSet { range: Range(358, 365), items: [358, 364], want_response: true }, ItemSet { range: Range(365, 404), items: [365], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }, ItemSet { range: Range(358, 365), items: [363], want_response: false }, ItemSet { range: Range(365, 404), items: [368, 388], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 5, 52, 53, 358, 364, 365], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (315, true), (341, true), (349, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (5, true), (52, true), (53, true), (358, true), (364, true), (365, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 315, 341, 349, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 363, 368, 388] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 5, 52, 53, 358, 364, 365] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 52, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3492)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(120)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(110)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 52], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 52, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (52, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 52, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 52, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 26, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3466)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(94)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(84)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 26], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 26, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (26, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 26, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 26, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 13, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3453)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(81)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(71)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 13], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 13, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (13, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 13, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 13, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 7, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3447)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(75)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(65)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 7], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 7, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (7, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 7, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 7, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3440)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(382)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2149)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 165), fp: EncodedCountingMonoid(3, SumMonoid(62)) }, Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 343), items: [314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 124), fp: EncodedCountingMonoid(7, SumMonoid(511)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(6, SumMonoid(892)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(165, 343), items: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [], want_response: false }, ItemSet { range: Range(4, 53), items: [4, 5], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }, ItemSet { range: Range(364, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 417), items: [366], want_response: true }], wants: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 84, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(364, 366), items: [], want_response: false }, ItemSet { range: Range(366, 417), items: [368, 388, 404], want_response: false }], wants: [1, 2, 3, 343, 353, 358, 4, 5, 53, 364, 365, 366], provide: [(165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 368, 388, 404], provide: [(1, true), (2, true), (3, true), (343, true), (353, true), (358, true), (4, true), (5, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [314, 1, 2, 3, 343, 353, 358, 4, 5, 53, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(14, SumMonoid(3440)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 343), fp: EncodedCountingMonoid(7, SumMonoid(382)) }, Fingerprint { range: Range(343, 555), fp: EncodedCountingMonoid(6, SumMonoid(2149)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(13, SumMonoid(1403)) }, Fingerprint { range: Range(165, 343), fp: EncodedCountingMonoid(12, SumMonoid(3203)) }, Fingerprint { range: Range(343, 465), fp: EncodedCountingMonoid(7, SumMonoid(2748)) }, Fingerprint { range: Range(465, 555), fp: EncodedCountingMonoid(6, SumMonoid(2970)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 4), fp: EncodedCountingMonoid(3, SumMonoid(6)) }, Fingerprint { range: Range(4, 165), fp: EncodedCountingMonoid(3, SumMonoid(62)) }, Fingerprint { range: Range(343, 364), fp: EncodedCountingMonoid(3, SumMonoid(1054)) }, Fingerprint { range: Range(364, 465), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 343), items: [314], want_response: true }, ItemSet { range: Range(465, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 124), fp: EncodedCountingMonoid(7, SumMonoid(511)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(6, SumMonoid(892)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1160)) }], item_sets: [ItemSet { range: Range(165, 343), items: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341], want_response: false }, ItemSet { range: Range(465, 555), items: [465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 4), items: [], want_response: true }, ItemSet { range: Range(343, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(417, 465), items: [417, 459], want_response: true }], wants: [314], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 4), items: [1, 2, 3], want_response: false }, ItemSet { range: Range(343, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(417, 465), items: [], want_response: false }, ItemSet { range: Range(4, 53), items: [4, 5], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }, ItemSet { range: Range(364, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 417), items: [366], want_response: true }], wants: [165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459], provide: [(314, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 84, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 151, 152, 157, 164], want_response: false }, ItemSet { range: Range(364, 366), items: [], want_response: false }, ItemSet { range: Range(366, 417), items: [368, 388, 404], want_response: false }], wants: [1, 2, 3, 343, 353, 358, 4, 5, 53, 364, 365, 366], provide: [(165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (315, true), (341, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (349, true), (363, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 368, 388, 404], provide: [(1, true), (2, true), (3, true), (343, true), (353, true), (358, true), (4, true), (5, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true), (164, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 465, 478, 479, 484, 512, 552, 349, 363, 417, 459, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 368, 388, 404] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [314, 1, 2, 3, 343, 353, 358, 4, 5, 53, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(38, SumMonoid(10324)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(37, SumMonoid(27974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(8, SumMonoid(2945)) }, Fingerprint { range: Range(459, 555), fp: EncodedCountingMonoid(7, SumMonoid(3429)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 459), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(459, 555), items: [], want_response: true }], wants: [555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(459, 555), items: [459, 465, 478, 479, 484, 512, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 459), items: [404, 417], want_response: true }], wants: [], provide: [(555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (816, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 459), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (552, true), (368, true), (388, true), (404, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 459, 465, 478, 479, 484, 512, 552, 368, 388, 404, 417, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 816, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(37, SumMonoid(9772)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(37, SumMonoid(27710)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true), (907, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 907, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(37, SumMonoid(9772)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(36, SumMonoid(26803)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (749, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 749, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 512), fp: EncodedCountingMonoid(36, SumMonoid(9260)) }, Fingerprint { range: Range(512, 910), fp: EncodedCountingMonoid(36, SumMonoid(26566)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 512), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(512, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 512), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(512, 910), items: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 512), items: [], want_response: true }], wants: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(417, 512), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (798, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 798, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 512), fp: EncodedCountingMonoid(36, SumMonoid(9260)) }, Fingerprint { range: Range(512, 910), fp: EncodedCountingMonoid(35, SumMonoid(25768)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 512), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(512, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 512), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(512, 910), items: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 512), items: [], want_response: true }], wants: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(417, 512), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 512), fp: EncodedCountingMonoid(36, SumMonoid(9260)) }, Fingerprint { range: Range(512, 910), fp: EncodedCountingMonoid(35, SumMonoid(25768)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 512), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(512, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(12, SumMonoid(1239)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(11, SumMonoid(2711)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 512), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(512, 910), items: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 512), items: [], want_response: true }], wants: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(6, SumMonoid(848)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309], want_response: false }, ItemSet { range: Range(417, 512), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 152, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (309, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 417, 459, 465, 478, 479, 484, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 309, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 512), fp: EncodedCountingMonoid(35, SumMonoid(8951)) }, Fingerprint { range: Range(512, 910), fp: EncodedCountingMonoid(35, SumMonoid(25768)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 512), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(512, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 157), fp: EncodedCountingMonoid(11, SumMonoid(1082)) }, Fingerprint { range: Range(157, 314), fp: EncodedCountingMonoid(11, SumMonoid(2559)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 512), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(512, 910), items: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 157), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(157, 314), items: [], want_response: true }, ItemSet { range: Range(417, 512), items: [], want_response: true }], wants: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 157), fp: EncodedCountingMonoid(5, SumMonoid(691)) }], item_sets: [ItemSet { range: Range(157, 314), items: [157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 512), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 157), items: [], want_response: true }], wants: [157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 157), items: [120, 124, 144, 151, 152], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(157, true), (164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (152, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 152, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(35, SumMonoid(9311)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(34, SumMonoid(25256)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(11, SumMonoid(1087)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(10, SumMonoid(2402)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(6, SumMonoid(391)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(5, SumMonoid(696)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 164), items: [120, 124, 144, 151, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (151, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 151, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(34, SumMonoid(9160)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(34, SumMonoid(25256)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(10, SumMonoid(2402)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(34, SumMonoid(9160)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(34, SumMonoid(25256)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(10, SumMonoid(2402)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (767, true), (781, true), (787, true), (788, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 767, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(34, SumMonoid(9160)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(33, SumMonoid(24489)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(10, SumMonoid(2402)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(7, SumMonoid(3294)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484, 512], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (781, true), (787, true), (788, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (512, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 512, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 788, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 512), fp: EncodedCountingMonoid(33, SumMonoid(8648)) }, Fingerprint { range: Range(512, 910), fp: EncodedCountingMonoid(33, SumMonoid(24213)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 512), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(512, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(10, SumMonoid(2402)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 512), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(512, 910), items: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 512), items: [], want_response: true }], wants: [512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 512), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(512, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 512, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(33, SumMonoid(8648)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(32, SumMonoid(23701)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(10, SumMonoid(2402)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (727, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 727, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(32, SumMonoid(8164)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(32, SumMonoid(23458)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(10, SumMonoid(2402)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(6, SumMonoid(2702)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 465, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(32, SumMonoid(8164)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(32, SumMonoid(23458)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(10, SumMonoid(2402)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(6, SumMonoid(2702)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 465, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (195, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 195, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(32, SumMonoid(8453)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(31, SumMonoid(22974)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(7, SumMonoid(2528)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (713, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 713, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(31, SumMonoid(7969)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(31, SumMonoid(22745)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(6, SumMonoid(2702)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 465, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (688, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 688, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(31, SumMonoid(7969)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(30, SumMonoid(22057)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(10, SumMonoid(936)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(6, SumMonoid(2702)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(5, SumMonoid(640)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 465, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144, 157], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144, 157], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144, 157] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 157, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(30, SumMonoid(7812)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(30, SumMonoid(22057)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(9, SumMonoid(779)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(6, SumMonoid(2702)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 465, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(30, SumMonoid(7955)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(29, SumMonoid(21573)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(9, SumMonoid(779)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 417), fp: EncodedCountingMonoid(6, SumMonoid(2187)) }, Fingerprint { range: Range(417, 552), fp: EncodedCountingMonoid(6, SumMonoid(2782)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 417), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(417, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(417, 552), items: [417, 459, 465, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 363), items: [315, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }, ItemSet { range: Range(404, 417), items: [404], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(404, 417), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 315, 349, 363, 368, 388, 404], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 358, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (417, true), (459, true), (465, true), (478, true), (479, true), (484, true), (315, true), (349, true), (363, true), (368, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 417, 459, 465, 478, 479, 484, 315, 349, 363, 368, 388, 404, 20, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 314, 343, 353, 358, 364, 365, 366, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 20, 44, 53, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(30, SumMonoid(7812)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(30, SumMonoid(22057)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(9, SumMonoid(779)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(6, SumMonoid(2702)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 465, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (465, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 465, 478, 479, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 465, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(30, SumMonoid(7831)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(29, SumMonoid(21573)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(9, SumMonoid(779)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 552), fp: EncodedCountingMonoid(6, SumMonoid(2721)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 552), items: [404, 417, 459, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (645, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 478, 479, 484, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (479, true), (484, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 478, 479, 484, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 645, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(29, SumMonoid(7347)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(29, SumMonoid(21412)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(9, SumMonoid(779)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(5, SumMonoid(2237)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (803, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 803, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(29, SumMonoid(7347)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(28, SumMonoid(20609)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(9, SumMonoid(779)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(9, SumMonoid(2207)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(5, SumMonoid(2237)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [20, 44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [20, 44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(20, true), (44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388, 20, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {20, 44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(28, SumMonoid(7327)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(28, SumMonoid(20609)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(9, SumMonoid(923)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(8, SumMonoid(2043)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(5, SumMonoid(2237)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(5, SumMonoid(371)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 258, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 84, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (258, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 165, 224, 255, 256, 258, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388, 44, 54, 84, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 258, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(28, SumMonoid(7553)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(27, SumMonoid(20125)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(8, SumMonoid(759)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(8, SumMonoid(1949)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 552), fp: EncodedCountingMonoid(6, SumMonoid(2721)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 552), items: [], want_response: true }], wants: [552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(4, SumMonoid(276)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 552), items: [404, 417, 459, 478, 479, 484], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (666, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 479, 484, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (479, true), (484, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 479, 484, 368, 388, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 666, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(27, SumMonoid(7069)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(27, SumMonoid(19943)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(8, SumMonoid(759)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(8, SumMonoid(1949)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(5, SumMonoid(2237)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(4, SumMonoid(276)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (886, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 164, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 886, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 484), fp: EncodedCountingMonoid(27, SumMonoid(7069)) }, Fingerprint { range: Range(484, 910), fp: EncodedCountingMonoid(26, SumMonoid(19057)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 484), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(484, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(8, SumMonoid(759)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(8, SumMonoid(1949)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(6, SumMonoid(2124)) }, Fingerprint { range: Range(404, 484), fp: EncodedCountingMonoid(5, SumMonoid(2237)) }], item_sets: [ItemSet { range: Range(484, 910), items: [484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 484), items: [], want_response: true }], wants: [484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(4, SumMonoid(276)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 484), items: [404, 417, 459, 478, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (849, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (479, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 889, 893, 164, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 479, 368, 388, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 849, 870, 876, 884, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(26, SumMonoid(6590)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(26, SumMonoid(18687)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(8, SumMonoid(759)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(8, SumMonoid(1949)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(5, SumMonoid(1736)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(5, SumMonoid(2146)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 909], want_response: false }], wants: [], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(4, SumMonoid(276)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [368], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true), (478, true), (368, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 164, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995} + [1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(26, SumMonoid(6590)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(25, SumMonoid(17778)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(8, SumMonoid(759)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(8, SumMonoid(1949)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(5, SumMonoid(1736)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(5, SumMonoid(2146)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(4, SumMonoid(276)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [368], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true), (478, true), (368, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 164, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(25, SumMonoid(6241)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(25, SumMonoid(17778)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(8, SumMonoid(759)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(8, SumMonoid(1949)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(5, SumMonoid(1775)) }, Fingerprint { range: Range(404, 479), fp: EncodedCountingMonoid(4, SumMonoid(1758)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(404, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(4, SumMonoid(276)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 479), items: [404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 363), items: [315, 341], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 315, 341, 363, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 358, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (315, true), (341, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 164, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 315, 341, 363, 368, 388, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 314, 343, 353, 358, 364, 365, 366, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 44, 53, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 44, 53, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 44, 53, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(26, SumMonoid(6590)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(25, SumMonoid(17778)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 164), fp: EncodedCountingMonoid(8, SumMonoid(759)) }, Fingerprint { range: Range(164, 314), fp: EncodedCountingMonoid(8, SumMonoid(1949)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(5, SumMonoid(1736)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(5, SumMonoid(2146)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 164), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(164, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 95), fp: EncodedCountingMonoid(4, SumMonoid(276)) }, Fingerprint { range: Range(95, 164), fp: EncodedCountingMonoid(4, SumMonoid(483)) }], item_sets: [ItemSet { range: Range(164, 314), items: [164, 165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [368], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 95), items: [53], want_response: true }, ItemSet { range: Range(95, 164), items: [], want_response: true }], wants: [164, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 95), items: [54, 84, 94], want_response: false }, ItemSet { range: Range(95, 164), items: [95, 120, 124, 144], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(164, true), (165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true), (478, true), (368, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 84, 94, 95, 120, 124, 144], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (84, true), (94, true), (95, true), (120, true), (124, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 164, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368, 44, 54, 84, 94, 95, 120, 124, 144] [INFO] [stdout] b all: {44, 54, 84, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(25, SumMonoid(6506)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(25, SumMonoid(17778)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(8, SumMonoid(839)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(5, SumMonoid(1736)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(5, SumMonoid(2146)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(4, SumMonoid(287)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [368], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (787, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true), (478, true), (368, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368, 44, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 787, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(25, SumMonoid(6506)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(24, SumMonoid(16991)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(8, SumMonoid(839)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(5, SumMonoid(1736)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(5, SumMonoid(2146)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(4, SumMonoid(287)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [368], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true), (478, true), (368, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368, 44, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(24, SumMonoid(6191)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(24, SumMonoid(16991)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(8, SumMonoid(839)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(5, SumMonoid(1809)) }, Fingerprint { range: Range(404, 479), fp: EncodedCountingMonoid(4, SumMonoid(1758)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(404, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(4, SumMonoid(287)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 479), items: [404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 363), items: [341, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 404), items: [368, 388], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 341, 349, 363, 368, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 358, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (341, true), (349, true), (363, true), (368, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 341, 349, 363, 368, 388, 44, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 314, 343, 353, 358, 364, 365, 366, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 44, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 44, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 44, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(25, SumMonoid(6506)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(24, SumMonoid(16991)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(8, SumMonoid(839)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(5, SumMonoid(1736)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(5, SumMonoid(2146)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(4, SumMonoid(287)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [368], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (764, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true), (478, true), (368, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 478, 368, 44, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 764, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(24, SumMonoid(6028)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(24, SumMonoid(16705)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(8, SumMonoid(839)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(5, SumMonoid(1736)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(4, SumMonoid(1668)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(4, SumMonoid(287)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 417, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [368], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 368], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true), (368, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 368, 44, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(24, SumMonoid(6028)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(24, SumMonoid(16705)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(8, SumMonoid(839)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(5, SumMonoid(1736)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(4, SumMonoid(1668)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(4, SumMonoid(287)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 417, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [368], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 368], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true), (368, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 368, 44, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 368, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(24, SumMonoid(6138)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(23, SumMonoid(16227)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(8, SumMonoid(839)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(5, SumMonoid(1756)) }, Fingerprint { range: Range(404, 479), fp: EncodedCountingMonoid(4, SumMonoid(1758)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(404, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(4, SumMonoid(287)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 479), items: [404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [388], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (664, true), (706, true), (709, true), (714, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 388, 44, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 664, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(23, SumMonoid(5660)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(23, SumMonoid(16041)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(8, SumMonoid(839)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(4, SumMonoid(1668)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(4, SumMonoid(287)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(4, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 417, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (714, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [44], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [44, 54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(44, true), (54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 44, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {44, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(23, SumMonoid(6094)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(22, SumMonoid(15563)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(5, SumMonoid(1756)) }, Fingerprint { range: Range(404, 479), fp: EncodedCountingMonoid(4, SumMonoid(1758)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(404, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 479), items: [404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [388], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (714, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 388, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(22, SumMonoid(5731)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(22, SumMonoid(15563)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(4, SumMonoid(1393)) }, Fingerprint { range: Range(404, 479), fp: EncodedCountingMonoid(4, SumMonoid(1758)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(404, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 479), items: [404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(314, 349), items: [315, 341], want_response: true }, ItemSet { range: Range(349, 364), items: [349], want_response: true }, ItemSet { range: Range(364, 404), items: [388], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (714, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 315, 341, 349, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 314, 343, 353, 358, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (315, true), (341, true), (349, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 315, 341, 349, 388, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 314, 343, 353, 358, 364, 365, 366, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 349, 353, 358, 364, 365, 366, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 349, 353, 358, 364, 365, 366, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 349, 353, 358, 364, 365, 366, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(23, SumMonoid(6094)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(22, SumMonoid(15563)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 404), fp: EncodedCountingMonoid(5, SumMonoid(1756)) }, Fingerprint { range: Range(404, 479), fp: EncodedCountingMonoid(4, SumMonoid(1758)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 404), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(404, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(404, 479), items: [404, 417, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 404), items: [388], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (714, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 404), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 388], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (404, true), (417, true), (459, true), (478, true), (388, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 404, 417, 459, 478, 388, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 714, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(22, SumMonoid(5616)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(22, SumMonoid(15327)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(4, SumMonoid(1668)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 417, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(22, SumMonoid(5616)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(22, SumMonoid(15327)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(4, SumMonoid(1668)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 417, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (889, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 889, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(22, SumMonoid(5616)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(21, SumMonoid(14438)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(4, SumMonoid(1668)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 417, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (417, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 417, 459, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 417, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(21, SumMonoid(5199)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(21, SumMonoid(14438)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (562, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 459, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 562, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(21, SumMonoid(5199)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(20, SumMonoid(13876)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 459, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 459), fp: EncodedCountingMonoid(20, SumMonoid(4740)) }, Fingerprint { range: Range(459, 910), fp: EncodedCountingMonoid(20, SumMonoid(13783)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(459, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 459), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(459, 910), items: [459, 478, 479, 484, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 459), items: [366], want_response: true }], wants: [459, 478, 479, 484, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 459), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(459, true), (478, true), (479, true), (484, true), (555, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 459, 478, 479, 484, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 478, 479, 484, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 478, 479, 484, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 478, 479, 484, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(21, SumMonoid(5199)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(20, SumMonoid(13876)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(7, SumMonoid(795)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(7, SumMonoid(1785)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 124), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(124, 165), fp: EncodedCountingMonoid(3, SumMonoid(432)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 124), items: [53], want_response: true }, ItemSet { range: Range(124, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 289, 290, 306, 388, 404, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 124), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(124, 165), items: [124, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 124, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (124, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 224, 255, 256, 289, 290, 306, 388, 404, 459, 54, 94, 95, 120, 124, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 124, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(20, SumMonoid(5075)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(20, SumMonoid(13876)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986, 995], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986, 995], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 224), fp: EncodedCountingMonoid(7, SumMonoid(836)) }, Fingerprint { range: Range(224, 314), fp: EncodedCountingMonoid(6, SumMonoid(1620)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true), (995, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 224), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(224, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(144, 224), fp: EncodedCountingMonoid(3, SumMonoid(473)) }], item_sets: [ItemSet { range: Range(224, 314), items: [224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }, ItemSet { range: Range(144, 224), items: [], want_response: true }], wants: [224, 255, 256, 289, 290, 306, 388, 404, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(144, 224), items: [144, 164, 165], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 144, 164, 165], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (144, true), (164, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 995, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 224, 255, 256, 289, 290, 306, 388, 404, 459, 54, 94, 95, 120, 144, 164, 165] [INFO] [stdout] b all: {54, 94, 95, 120, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986, 995} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(20, SumMonoid(5075)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(20, SumMonoid(13876)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 224), fp: EncodedCountingMonoid(7, SumMonoid(836)) }, Fingerprint { range: Range(224, 314), fp: EncodedCountingMonoid(6, SumMonoid(1620)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 224), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(224, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(4, SumMonoid(363)) }, Fingerprint { range: Range(144, 224), fp: EncodedCountingMonoid(3, SumMonoid(473)) }], item_sets: [ItemSet { range: Range(224, 314), items: [224, 255, 256, 289, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }, ItemSet { range: Range(144, 224), items: [], want_response: true }], wants: [224, 255, 256, 289, 290, 306, 388, 404, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [54, 94, 95, 120], want_response: false }, ItemSet { range: Range(144, 224), items: [144, 164, 165], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(224, true), (255, true), (256, true), (289, true), (290, true), (306, true), (388, true), (404, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 144, 164, 165], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (144, true), (164, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 224, 255, 256, 289, 290, 306, 388, 404, 459, 54, 94, 95, 120, 144, 164, 165] [INFO] [stdout] b all: {54, 94, 95, 120, 144, 164, 165, 224, 255, 256, 289, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 144, 164, 165, 224, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(20, SumMonoid(5264)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(19, SumMonoid(13398)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(6, SumMonoid(671)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(6, SumMonoid(1496)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(3, SumMonoid(243)) }, Fingerprint { range: Range(120, 165), fp: EncodedCountingMonoid(3, SumMonoid(428)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 224, 255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 165), items: [], want_response: true }], wants: [165, 224, 255, 256, 290, 306, 388, 404, 459, 478], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 165), items: [120, 144, 164], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (224, true), (255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (478, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 144, 164], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (144, true), (164, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 224, 255, 256, 290, 306, 388, 404, 459, 478, 54, 94, 95, 120, 144, 164] [INFO] [stdout] b all: {54, 94, 95, 120, 144, 164, 165, 224, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 144, 165, 224, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(19, SumMonoid(5100)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(19, SumMonoid(13398)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 224), fp: EncodedCountingMonoid(6, SumMonoid(672)) }, Fingerprint { range: Range(224, 314), fp: EncodedCountingMonoid(5, SumMonoid(1331)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 224), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(224, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(3, SumMonoid(243)) }, Fingerprint { range: Range(120, 224), fp: EncodedCountingMonoid(3, SumMonoid(429)) }], item_sets: [ItemSet { range: Range(224, 314), items: [224, 255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (623, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 224), items: [], want_response: true }], wants: [224, 255, 256, 290, 306, 388, 404, 459, 478], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 224), items: [120, 144, 165], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(224, true), (255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (478, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 144, 165], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 224, 255, 256, 290, 306, 388, 404, 459, 478, 54, 94, 95, 120, 144, 165] [INFO] [stdout] b all: {54, 94, 95, 120, 144, 165, 224, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 623, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 144, 165, 224, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(19, SumMonoid(5100)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(18, SumMonoid(12775)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 224), fp: EncodedCountingMonoid(6, SumMonoid(672)) }, Fingerprint { range: Range(224, 314), fp: EncodedCountingMonoid(5, SumMonoid(1331)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 224), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(224, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(3, SumMonoid(243)) }, Fingerprint { range: Range(120, 224), fp: EncodedCountingMonoid(3, SumMonoid(429)) }], item_sets: [ItemSet { range: Range(224, 314), items: [224, 255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }, ItemSet { range: Range(120, 224), items: [], want_response: true }], wants: [224, 255, 256, 290, 306, 388, 404, 459, 478], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }, ItemSet { range: Range(120, 224), items: [120, 144, 165], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(224, true), (255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (478, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95, 120, 144, 165], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true), (120, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 224, 255, 256, 290, 306, 388, 404, 459, 478, 54, 94, 95, 120, 144, 165] [INFO] [stdout] b all: {54, 94, 95, 120, 144, 165, 224, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(18, SumMonoid(4876)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(18, SumMonoid(12775)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(5, SumMonoid(507)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(5, SumMonoid(1272)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(3, SumMonoid(243)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (647, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }], wants: [165, 255, 256, 290, 306, 388, 404, 459, 478, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (478, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 306, 388, 404, 459, 478, 120, 144, 54, 94, 95] [INFO] [stdout] b all: {54, 94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 647, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(18, SumMonoid(4876)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(17, SumMonoid(12128)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(5, SumMonoid(507)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(5, SumMonoid(1272)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 564, 574, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 564, 574, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(3, SumMonoid(243)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (564, true), (574, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }], wants: [165, 255, 256, 290, 306, 388, 404, 459, 478, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (478, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 484, 552, 555, 564, 574, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 306, 388, 404, 459, 478, 120, 144, 54, 94, 95] [INFO] [stdout] b all: {54, 94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 574, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {54, 94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 478), fp: EncodedCountingMonoid(17, SumMonoid(4398)) }, Fingerprint { range: Range(478, 910), fp: EncodedCountingMonoid(17, SumMonoid(12032)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 478), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(478, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(5, SumMonoid(507)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(5, SumMonoid(1272)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 478), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(478, 910), items: [478, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 478), items: [], want_response: true }], wants: [478, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 120), fp: EncodedCountingMonoid(3, SumMonoid(243)) }], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 478), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(478, true), (479, true), (484, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 120), items: [53], want_response: true }], wants: [165, 255, 256, 290, 306, 388, 404, 459, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 120), items: [54, 94, 95], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [54, 94, 95], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(54, true), (94, true), (95, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 478, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 306, 388, 404, 459, 120, 144, 54, 94, 95] [INFO] [stdout] b all: {54, 94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(17, SumMonoid(4822)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(16, SumMonoid(11554)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 255), fp: EncodedCountingMonoid(5, SumMonoid(618)) }, Fingerprint { range: Range(255, 314), fp: EncodedCountingMonoid(4, SumMonoid(1107)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 255), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(255, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }], item_sets: [ItemSet { range: Range(255, 314), items: [255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459, 478], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(144, 255), items: [144, 165], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(144, 255), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }], wants: [255, 256, 290, 306, 388, 404, 459, 478, 144, 165], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [94, 95, 120], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (478, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [94, 95, 120], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 255, 256, 290, 306, 388, 404, 459, 478, 144, 165, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 478, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(16, SumMonoid(4344)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(16, SumMonoid(11554)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 255), fp: EncodedCountingMonoid(5, SumMonoid(618)) }, Fingerprint { range: Range(255, 314), fp: EncodedCountingMonoid(4, SumMonoid(1107)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 255), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(255, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }], item_sets: [ItemSet { range: Range(255, 314), items: [255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(144, 255), items: [144, 165], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (484, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(144, 255), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }], wants: [255, 256, 290, 306, 388, 404, 459, 144, 165], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [94, 95, 120], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [94, 95, 120], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 255, 256, 290, 306, 388, 404, 459, 144, 165, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 484, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(16, SumMonoid(4344)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(15, SumMonoid(11070)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 255), fp: EncodedCountingMonoid(5, SumMonoid(618)) }, Fingerprint { range: Range(255, 314), fp: EncodedCountingMonoid(4, SumMonoid(1107)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 255), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(255, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }], item_sets: [ItemSet { range: Range(255, 314), items: [255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(144, 255), items: [144, 165], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(144, 255), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }], wants: [255, 256, 290, 306, 388, 404, 459, 144, 165], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [94, 95, 120], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [94, 95, 120], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 255, 256, 290, 306, 388, 404, 459, 144, 165, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 459), fp: EncodedCountingMonoid(15, SumMonoid(3885)) }, Fingerprint { range: Range(459, 910), fp: EncodedCountingMonoid(15, SumMonoid(10653)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(459, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 255), fp: EncodedCountingMonoid(5, SumMonoid(618)) }, Fingerprint { range: Range(255, 314), fp: EncodedCountingMonoid(4, SumMonoid(1107)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 459), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(459, 910), items: [459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 255), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(255, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 459), items: [366], want_response: true }], wants: [459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }], item_sets: [ItemSet { range: Range(255, 314), items: [255, 256, 290, 306], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 459), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(144, 255), items: [144, 165], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(459, true), (479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(144, 255), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }], wants: [255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 144, 165], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [94, 95, 120], want_response: false }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(255, true), (256, true), (290, true), (306, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [94, 95, 120], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 884, 893, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 144, 165, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 884, 893, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 884, 893, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(16, SumMonoid(4344)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(15, SumMonoid(11070)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 255), fp: EncodedCountingMonoid(5, SumMonoid(618)) }, Fingerprint { range: Range(255, 314), fp: EncodedCountingMonoid(4, SumMonoid(1107)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 255), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(255, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }], item_sets: [ItemSet { range: Range(255, 314), items: [255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(144, 255), items: [144, 165], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(144, 255), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }], wants: [255, 256, 290, 306, 388, 404, 459, 144, 165], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [94, 95, 120], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [94, 95, 120], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 255, 256, 290, 306, 388, 404, 459, 144, 165, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 459), fp: EncodedCountingMonoid(15, SumMonoid(3885)) }, Fingerprint { range: Range(459, 910), fp: EncodedCountingMonoid(15, SumMonoid(10820)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 459), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(459, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 255), fp: EncodedCountingMonoid(5, SumMonoid(618)) }, Fingerprint { range: Range(255, 314), fp: EncodedCountingMonoid(4, SumMonoid(1107)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 459), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(459, 910), items: [459, 479, 552, 555, 564, 706, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 255), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(255, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 459), items: [366], want_response: true }], wants: [459, 479, 552, 555, 564, 706, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }], item_sets: [ItemSet { range: Range(255, 314), items: [255, 256, 290, 306], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 459), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(144, 255), items: [144, 165], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(459, true), (479, true), (552, true), (555, true), (564, true), (706, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(144, 255), items: [], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }], wants: [255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 144, 165], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [94, 95, 120], want_response: false }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(255, true), (256, true), (290, true), (306, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [94, 95, 120], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 459, 479, 552, 555, 564, 706, 759, 766, 781, 829, 847, 870, 876, 884, 893, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 144, 165, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 479, 552, 555, 564, 706, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 479, 552, 555, 564, 706, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 306, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 459, 479, 552, 555, 564, 706, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(16, SumMonoid(4344)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(15, SumMonoid(11070)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 255), fp: EncodedCountingMonoid(5, SumMonoid(618)) }, Fingerprint { range: Range(255, 314), fp: EncodedCountingMonoid(4, SumMonoid(1107)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 255), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(255, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }], item_sets: [ItemSet { range: Range(255, 314), items: [255, 256, 290, 306], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(144, 255), items: [144, 165], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(144, 255), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }, ItemSet { range: Range(5, 53), items: [5, 6], want_response: true }, ItemSet { range: Range(53, 144), items: [53], want_response: true }], wants: [255, 256, 290, 306, 388, 404, 459, 144, 165], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 53), items: [], want_response: false }, ItemSet { range: Range(53, 144), items: [94, 95, 120], want_response: false }], wants: [1, 2, 3, 4, 364, 365, 366, 5, 6, 53], provide: [(255, true), (256, true), (290, true), (306, true), (388, true), (404, true), (459, true), (144, true), (165, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [94, 95, 120], provide: [(1, true), (2, true), (3, true), (4, true), (364, true), (365, true), (366, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 255, 256, 290, 306, 388, 404, 459, 144, 165, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 306, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 364, 365, 366, 5, 6, 53] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(15, SumMonoid(4038)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(15, SumMonoid(11070)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 479), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 479), items: [], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 479), items: [388, 404, 459], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 459, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (459, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 459, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 459, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(15, SumMonoid(4058)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(14, SumMonoid(3579)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(14, SumMonoid(10364)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 479), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 479), items: [366], want_response: true }], wants: [479, 552, 555, 564, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 479), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(479, true), (552, true), (555, true), (564, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }], wants: [165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(15, SumMonoid(4058)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(14, SumMonoid(3579)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(14, SumMonoid(10177)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 479), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 479), items: [366], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 479), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }], wants: [165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(15, SumMonoid(4058)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(14, SumMonoid(3579)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(14, SumMonoid(10304)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 479), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 479), items: [366], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 479), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }], wants: [165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 781, 829, 847, 870, 876, 884, 893, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 781, 829, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 781, 829, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(15, SumMonoid(4058)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(14, SumMonoid(3579)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(14, SumMonoid(10186)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 479), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 479), items: [366], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 479), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }], wants: [165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 893, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 893, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 893, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(15, SumMonoid(4058)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(14, SumMonoid(3579)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(14, SumMonoid(10506)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 479), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 479), items: [366], want_response: true }], wants: [479, 552, 555, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 479), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(479, true), (552, true), (555, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }], wants: [165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(15, SumMonoid(4058)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(14, SumMonoid(3579)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(14, SumMonoid(10241)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 479), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 766, 781, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 479), items: [366], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 766, 781, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 479), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }], wants: [165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 766, 781, 847, 870, 876, 884, 893, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 847, 870, 876, 884, 893, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 847, 870, 876, 884, 893, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 847, 870, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(15, SumMonoid(4058)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 479), fp: EncodedCountingMonoid(14, SumMonoid(3579)) }, Fingerprint { range: Range(479, 910), fp: EncodedCountingMonoid(14, SumMonoid(10200)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 479), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(479, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 363), fp: EncodedCountingMonoid(3, SumMonoid(1005)) }, Fingerprint { range: Range(363, 479), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }], item_sets: [ItemSet { range: Range(479, 910), items: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(314, 353), items: [314, 343], want_response: true }, ItemSet { range: Range(353, 363), items: [353, 358], want_response: true }, ItemSet { range: Range(363, 366), items: [364, 365], want_response: true }, ItemSet { range: Range(366, 479), items: [366], want_response: true }], wants: [479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(314, 353), items: [315, 341, 349], want_response: false }, ItemSet { range: Range(353, 363), items: [], want_response: false }, ItemSet { range: Range(363, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 479), items: [388, 404], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(479, true), (552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }], wants: [165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(165, true), (255, true), (256, true), (290, true), (315, true), (341, true), (349, true), (363, true), (388, true), (404, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 876, 884, 893, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 876, 884, 893, 986} + [909, 314, 343, 353, 358, 364, 365, 366, 1, 2, 3, 4, 5, 6, 53] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 876, 884, 893, 909, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 94, 95, 120, 144, 165, 255, 256, 290, 314, 315, 341, 343, 349, 353, 358, 363, 364, 365, 366, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 876, 884, 893, 909, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(15, SumMonoid(4058)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(4, SumMonoid(966)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 256, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (256, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 256, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 256, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 255, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 552), fp: EncodedCountingMonoid(14, SumMonoid(3802)) }, Fingerprint { range: Range(552, 910), fp: EncodedCountingMonoid(14, SumMonoid(10591)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(552, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(4, SumMonoid(453)) }, Fingerprint { range: Range(165, 314), fp: EncodedCountingMonoid(3, SumMonoid(710)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 552), fp: EncodedCountingMonoid(3, SumMonoid(1271)) }], item_sets: [ItemSet { range: Range(552, 910), items: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: true }, ItemSet { range: Range(388, 552), items: [], want_response: true }], wants: [552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(165, 314), items: [165, 255, 290], want_response: false }, ItemSet { range: Range(388, 552), items: [388, 404, 479], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120, 144], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(552, true), (555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [165, 255, 290, 388, 404, 479, 94, 95, 120, 144], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(165, true), (255, true), (290, true), (388, true), (404, true), (479, true), (94, true), (95, true), (120, true), (144, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 255, 290, 388, 404, 479, 94, 95, 120, 144] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 255, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(14, SumMonoid(4099)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(13, SumMonoid(10039)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }, Fingerprint { range: Range(144, 314), fp: EncodedCountingMonoid(3, SumMonoid(599)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 555), fp: EncodedCountingMonoid(4, SumMonoid(1823)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(144, 314), items: [], want_response: true }, ItemSet { range: Range(388, 555), items: [], want_response: true }], wants: [555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(144, 314), items: [144, 165, 290], want_response: false }, ItemSet { range: Range(388, 555), items: [388, 404, 479, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 144), items: [120], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 144), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [144, 165, 290, 388, 404, 479, 552, 94, 95, 120], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(144, true), (165, true), (290, true), (388, true), (404, true), (479, true), (552, true), (94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 144, 165, 290, 388, 404, 479, 552, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 290, 315, 341, 349, 363, 388, 404, 479, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 290, 315, 341, 349, 363, 388, 404, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 555), fp: EncodedCountingMonoid(13, SumMonoid(3620)) }, Fingerprint { range: Range(555, 910), fp: EncodedCountingMonoid(13, SumMonoid(10039)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 555), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(555, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }, Fingerprint { range: Range(144, 314), fp: EncodedCountingMonoid(3, SumMonoid(599)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 555), fp: EncodedCountingMonoid(3, SumMonoid(1344)) }], item_sets: [ItemSet { range: Range(555, 910), items: [555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(144, 314), items: [], want_response: true }, ItemSet { range: Range(388, 555), items: [], want_response: true }], wants: [555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(144, 314), items: [144, 165, 290], want_response: false }, ItemSet { range: Range(388, 555), items: [388, 404, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 144), items: [120], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(555, true), (564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 144), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [144, 165, 290, 388, 404, 552, 94, 95, 120], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(144, true), (165, true), (290, true), (388, true), (404, true), (552, true), (94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 144, 165, 290, 388, 404, 552, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 290, 315, 341, 349, 363, 388, 404, 552, 555, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 144, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 564), fp: EncodedCountingMonoid(13, SumMonoid(3620)) }, Fingerprint { range: Range(564, 910), fp: EncodedCountingMonoid(12, SumMonoid(9484)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 564), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(564, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 144), fp: EncodedCountingMonoid(3, SumMonoid(309)) }, Fingerprint { range: Range(144, 314), fp: EncodedCountingMonoid(3, SumMonoid(599)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 564), fp: EncodedCountingMonoid(3, SumMonoid(1344)) }], item_sets: [ItemSet { range: Range(564, 910), items: [564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 144), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(144, 314), items: [], want_response: true }, ItemSet { range: Range(388, 564), items: [], want_response: true }], wants: [564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(144, 314), items: [144, 165, 290], want_response: false }, ItemSet { range: Range(388, 564), items: [388, 404, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 144), items: [120], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 144), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [144, 165, 290, 388, 404, 552, 94, 95, 120], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(144, true), (165, true), (290, true), (388, true), (404, true), (552, true), (94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 144, 165, 290, 388, 404, 552, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 144, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 95, 120, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 564), fp: EncodedCountingMonoid(12, SumMonoid(3476)) }, Fingerprint { range: Range(564, 910), fp: EncodedCountingMonoid(12, SumMonoid(9484)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 564), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(564, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 165), fp: EncodedCountingMonoid(3, SumMonoid(309)) }, Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 564), fp: EncodedCountingMonoid(3, SumMonoid(1344)) }], item_sets: [ItemSet { range: Range(564, 910), items: [564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(165, 314), items: [165, 290], want_response: true }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 5), fp: EncodedCountingMonoid(4, SumMonoid(10)) }, Fingerprint { range: Range(5, 165), fp: EncodedCountingMonoid(3, SumMonoid(64)) }, Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(165, 314), items: [], want_response: false }, ItemSet { range: Range(388, 564), items: [], want_response: true }], wants: [564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 290], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 564), items: [388, 404, 552], want_response: false }, ItemSet { range: Range(1, 5), items: [], want_response: true }, ItemSet { range: Range(5, 120), items: [94, 95], want_response: true }, ItemSet { range: Range(120, 165), items: [120], want_response: true }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [], provide: [(564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true), (165, true), (290, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 5), items: [1, 2, 3, 4], want_response: false }, ItemSet { range: Range(5, 120), items: [5, 6, 53], want_response: false }, ItemSet { range: Range(120, 165), items: [], want_response: false }, ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 404, 552, 94, 95, 120], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 2, 3, 4, 5, 6, 53, 364, 365, 366], provide: [(388, true), (404, true), (552, true), (94, true), (95, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 165, 290, 388, 404, 552, 94, 95, 120] [INFO] [stdout] b all: {94, 95, 120, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 706), fp: EncodedCountingMonoid(12, SumMonoid(3945)) }, Fingerprint { range: Range(706, 910), fp: EncodedCountingMonoid(11, SumMonoid(8920)) }], item_sets: [ItemSet { range: Range(910, 1), items: [986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 706), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(706, 910), items: [909], want_response: true }], wants: [986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 706), fp: EncodedCountingMonoid(4, SumMonoid(1908)) }], item_sets: [ItemSet { range: Range(706, 910), items: [706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 165), items: [94, 120], want_response: true }, ItemSet { range: Range(165, 314), items: [165, 290], want_response: true }], wants: [909], provide: [(986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 165), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(165, 314), items: [], want_response: false }, ItemSet { range: Range(388, 706), items: [], want_response: true }], wants: [706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 94, 120, 165, 290], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 706), items: [388, 404, 552, 564], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true), (165, true), (290, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 404, 552, 564], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (404, true), (552, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [986, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 94, 120, 165, 290, 388, 404, 552, 564] [INFO] [stdout] b all: {94, 120, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 986} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 706), fp: EncodedCountingMonoid(12, SumMonoid(3945)) }, Fingerprint { range: Range(706, 910), fp: EncodedCountingMonoid(11, SumMonoid(8920)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 706), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(706, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 706), fp: EncodedCountingMonoid(4, SumMonoid(1908)) }], item_sets: [ItemSet { range: Range(706, 910), items: [706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 165), items: [94, 120], want_response: true }, ItemSet { range: Range(165, 314), items: [165, 290], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 165), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(165, 314), items: [], want_response: false }, ItemSet { range: Range(388, 706), items: [], want_response: true }], wants: [706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 94, 120, 165, 290], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 706), items: [388, 404, 552, 564], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (847, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true), (165, true), (290, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 404, 552, 564], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (404, true), (552, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893, 94, 120, 165, 290, 388, 404, 552, 564] [INFO] [stdout] b all: {94, 120, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 847, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 564), fp: EncodedCountingMonoid(11, SumMonoid(3381)) }, Fingerprint { range: Range(564, 910), fp: EncodedCountingMonoid(11, SumMonoid(8637)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 564), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(564, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 564), fp: EncodedCountingMonoid(3, SumMonoid(1344)) }], item_sets: [ItemSet { range: Range(564, 910), items: [564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 165), items: [94, 120], want_response: true }, ItemSet { range: Range(165, 314), items: [165, 290], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 165), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(165, 314), items: [], want_response: false }, ItemSet { range: Range(388, 564), items: [], want_response: true }], wants: [564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893, 94, 120, 165, 290], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 564), items: [388, 404, 552], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(564, true), (706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true), (165, true), (290, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 404, 552], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (404, true), (552, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893, 94, 120, 165, 290, 388, 404, 552] [INFO] [stdout] b all: {94, 120, 165, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 706), fp: EncodedCountingMonoid(11, SumMonoid(3780)) }, Fingerprint { range: Range(706, 910), fp: EncodedCountingMonoid(10, SumMonoid(8073)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 706), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(706, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 706), fp: EncodedCountingMonoid(4, SumMonoid(1908)) }], item_sets: [ItemSet { range: Range(706, 910), items: [706, 709, 759, 766, 781, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 290), items: [94, 120], want_response: true }, ItemSet { range: Range(290, 314), items: [290], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 290), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(290, 314), items: [], want_response: false }, ItemSet { range: Range(388, 706), items: [], want_response: true }], wants: [706, 709, 759, 766, 781, 829, 870, 876, 884, 893, 94, 120, 290], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 706), items: [388, 404, 552, 564], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true), (290, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 404, 552, 564], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (404, true), (552, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [706, 709, 759, 766, 781, 829, 870, 876, 884, 893, 94, 120, 290, 388, 404, 552, 564] [INFO] [stdout] b all: {94, 120, 290, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 706), fp: EncodedCountingMonoid(10, SumMonoid(3490)) }, Fingerprint { range: Range(706, 910), fp: EncodedCountingMonoid(10, SumMonoid(8073)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 706), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(706, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 706), fp: EncodedCountingMonoid(4, SumMonoid(1908)) }], item_sets: [ItemSet { range: Range(706, 910), items: [706, 709, 759, 766, 781, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [94, 120], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(388, 706), items: [], want_response: true }], wants: [706, 709, 759, 766, 781, 829, 870, 876, 884, 893, 94, 120], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 706), items: [388, 404, 552, 564], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(706, true), (709, true), (759, true), (766, true), (781, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 404, 552, 564], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (404, true), (552, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [706, 709, 759, 766, 781, 829, 870, 876, 884, 893, 94, 120, 388, 404, 552, 564] [INFO] [stdout] b all: {94, 120, 315, 341, 349, 363, 388, 404, 552, 564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 315, 341, 349, 363, 388, 552, 564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(10, SumMonoid(3792)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(9, SumMonoid(7367)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 709), fp: EncodedCountingMonoid(4, SumMonoid(2210)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 759, 766, 781, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [94, 120], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(388, 709), items: [], want_response: true }], wants: [709, 759, 766, 781, 829, 870, 876, 884, 893, 94, 120], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 709), items: [388, 552, 564, 706], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (759, true), (766, true), (781, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 552, 564, 706], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (552, true), (564, true), (706, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 759, 766, 781, 829, 870, 876, 884, 893, 94, 120, 388, 552, 564, 706] [INFO] [stdout] b all: {94, 120, 315, 341, 349, 363, 388, 552, 564, 706, 709, 759, 766, 781, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 315, 341, 349, 363, 388, 552, 564, 706, 709, 759, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 706), fp: EncodedCountingMonoid(9, SumMonoid(3086)) }, Fingerprint { range: Range(706, 910), fp: EncodedCountingMonoid(9, SumMonoid(7292)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 706), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(706, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 706), fp: EncodedCountingMonoid(3, SumMonoid(1504)) }], item_sets: [ItemSet { range: Range(706, 910), items: [706, 709, 759, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [94, 120], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(388, 706), items: [], want_response: true }], wants: [706, 709, 759, 766, 829, 870, 876, 884, 893, 94, 120], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 706), items: [388, 552, 564], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(706, true), (709, true), (759, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 552, 564], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (552, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [706, 709, 759, 766, 829, 870, 876, 884, 893, 94, 120, 388, 552, 564] [INFO] [stdout] b all: {94, 120, 315, 341, 349, 363, 388, 552, 564, 706, 709, 759, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 315, 341, 349, 363, 388, 552, 564, 706, 709, 759, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 706), fp: EncodedCountingMonoid(9, SumMonoid(3086)) }, Fingerprint { range: Range(706, 910), fp: EncodedCountingMonoid(9, SumMonoid(7292)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 706), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(706, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 706), fp: EncodedCountingMonoid(3, SumMonoid(1504)) }], item_sets: [ItemSet { range: Range(706, 910), items: [706, 709, 759, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [94, 120], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(388, 706), items: [], want_response: true }], wants: [706, 709, 759, 766, 829, 870, 876, 884, 893, 94, 120], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 706), items: [388, 552, 564], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(706, true), (709, true), (759, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 552, 564], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (552, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [706, 709, 759, 766, 829, 870, 876, 884, 893, 94, 120, 388, 552, 564] [INFO] [stdout] b all: {94, 120, 315, 341, 349, 363, 388, 552, 564, 706, 709, 759, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 120, 315, 341, 349, 363, 388, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 706), fp: EncodedCountingMonoid(9, SumMonoid(3086)) }, Fingerprint { range: Range(706, 910), fp: EncodedCountingMonoid(8, SumMonoid(6533)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 706), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(706, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 706), fp: EncodedCountingMonoid(3, SumMonoid(1504)) }], item_sets: [ItemSet { range: Range(706, 910), items: [706, 709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [94, 120], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(388, 706), items: [], want_response: true }], wants: [706, 709, 766, 829, 870, 876, 884, 893, 94, 120], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 706), items: [388, 552, 564], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(706, true), (709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true), (120, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 552, 564], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (552, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [706, 709, 766, 829, 870, 876, 884, 893, 94, 120, 388, 552, 564] [INFO] [stdout] b all: {94, 120, 315, 341, 349, 363, 388, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 315, 341, 349, 363, 388, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 706), fp: EncodedCountingMonoid(8, SumMonoid(2966)) }, Fingerprint { range: Range(706, 910), fp: EncodedCountingMonoid(8, SumMonoid(6533)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 706), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(706, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 388), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(388, 706), fp: EncodedCountingMonoid(3, SumMonoid(1504)) }], item_sets: [ItemSet { range: Range(706, 910), items: [706, 709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [94], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 388), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(388, 706), items: [], want_response: true }], wants: [706, 709, 766, 829, 870, 876, 884, 893, 94], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(388, 706), items: [388, 552, 564], want_response: false }, ItemSet { range: Range(364, 388), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(706, true), (709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 388), items: [364, 365, 366], want_response: false }], wants: [388, 552, 564], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(388, true), (552, true), (564, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [706, 709, 766, 829, 870, 876, 884, 893, 94, 388, 552, 564] [INFO] [stdout] b all: {94, 315, 341, 349, 363, 388, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {94, 315, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(8, SumMonoid(3284)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [94], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 94], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (94, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(552, true), (564, true), (706, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 94, 552, 564, 706] [INFO] [stdout] b all: {94, 315, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3190)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(552, true), (564, true), (706, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706] [INFO] [stdout] b all: {315, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {171, 315, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3020)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1027)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [171], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 171], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [315, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (171, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 171, 552, 564, 706, 315, 349, 363] [INFO] [stdout] b all: {171, 315, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 171, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 171, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 171, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {256, 315, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3105)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1027)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [256], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 256], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [315, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (256, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 256, 552, 564, 706, 315, 349, 363] [INFO] [stdout] b all: {256, 315, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 256, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 256, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 256, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {299, 315, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3148)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1027)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [299], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 299], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [315, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (299, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 299, 552, 564, 706, 315, 349, 363] [INFO] [stdout] b all: {299, 315, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 299, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 299, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 299, 314, 315, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 320, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3169)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1347)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 320], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 320, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (320, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 320, 349, 363] [INFO] [stdout] b all: {315, 320, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 320, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 320, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 320, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 331, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3180)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1358)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 331], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 331, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (331, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 331, 349, 363] [INFO] [stdout] b all: {315, 331, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 331, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 331, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 331, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 336, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3185)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1363)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 336], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 336, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (336, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 336, 349, 363] [INFO] [stdout] b all: {315, 336, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 336, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 336, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 336, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 339, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3188)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1366)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 339], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 339, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (339, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 339, 349, 363] [INFO] [stdout] b all: {315, 339, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 339, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 339, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 339, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 340, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3189)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1367)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 349), items: [315, 340], want_response: true }, ItemSet { range: Range(349, 364), items: [349, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 349), items: [314, 343], want_response: false }, ItemSet { range: Range(349, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 340, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (340, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 340, 349, 363] [INFO] [stdout] b all: {315, 340, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 340, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 340, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 340, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3190)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(552, true), (564, true), (706, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706] [INFO] [stdout] b all: {315, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {175, 315, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3016)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1019)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [175], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 175], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [315, 341], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (175, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 341, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (341, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 175, 552, 564, 706, 315, 341, 363] [INFO] [stdout] b all: {175, 315, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 175, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 175, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 175, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {262, 315, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3103)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1019)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [262], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 262], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [315, 341], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (262, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 341, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (341, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 262, 552, 564, 706, 315, 341, 363] [INFO] [stdout] b all: {262, 315, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 262, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 262, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 262, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {306, 315, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3147)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1019)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [306], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 306], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [315, 341], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (306, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 341, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (341, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 306, 552, 564, 706, 315, 341, 363] [INFO] [stdout] b all: {306, 315, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 306, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 306, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 306, 314, 315, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 328, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3169)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1347)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 341), items: [315, 328], want_response: true }, ItemSet { range: Range(341, 364), items: [341, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 341), items: [314], want_response: false }, ItemSet { range: Range(341, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 328, 341, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (328, true), (341, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 328, 341, 363] [INFO] [stdout] b all: {315, 328, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 328, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 328, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 328, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 339, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3180)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1358)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 341), items: [315, 339], want_response: true }, ItemSet { range: Range(341, 364), items: [341, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 341), items: [314], want_response: false }, ItemSet { range: Range(341, 364), items: [343, 353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 339, 341, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (339, true), (341, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 339, 341, 363] [INFO] [stdout] b all: {315, 339, 341, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 339, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 339, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 339, 341, 343, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 341, 344, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3185)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1363)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 344), items: [315, 341], want_response: true }, ItemSet { range: Range(344, 364), items: [344, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 344), items: [314, 343], want_response: false }, ItemSet { range: Range(344, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 341, 344, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (341, true), (344, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 341, 344, 363] [INFO] [stdout] b all: {315, 341, 344, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 344, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 344, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 344, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 341, 347, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3188)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1366)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 347), items: [315, 341], want_response: true }, ItemSet { range: Range(347, 364), items: [347, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 347), items: [314, 343], want_response: false }, ItemSet { range: Range(347, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 341, 347, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (341, true), (347, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 341, 347, 363] [INFO] [stdout] b all: {315, 341, 347, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 347, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 347, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 347, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 341, 348, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3189)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1367)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 348), items: [315, 341], want_response: true }, ItemSet { range: Range(348, 364), items: [348, 363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 348), items: [314, 343], want_response: false }, ItemSet { range: Range(348, 364), items: [353, 358], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 315, 341, 348, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (315, true), (341, true), (348, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706, 315, 341, 348, 363] [INFO] [stdout] b all: {315, 341, 348, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 348, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 348, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 314, 315, 341, 343, 348, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {315, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3190)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [364, 365, 366], provide: [(552, true), (564, true), (706, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 552, 564, 706] [INFO] [stdout] b all: {315, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 364, 365, 366] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {158, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3033)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1053)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [158], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 158], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [341, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (158, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 341, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (341, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 158, 552, 564, 706, 341, 349, 363] [INFO] [stdout] b all: {158, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 158, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 158, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 158, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {237, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3112)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1053)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [237], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 237], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [341, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (237, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 341, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (341, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 237, 552, 564, 706, 341, 349, 363] [INFO] [stdout] b all: {237, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 237, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 237, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 237, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {276, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3151)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1053)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [276], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 276], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [341, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (276, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 341, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (341, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 276, 552, 564, 706, 341, 349, 363] [INFO] [stdout] b all: {276, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 276, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 276, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 276, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {296, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3171)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1053)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [296], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 296], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [341, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (296, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 341, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (341, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 296, 552, 564, 706, 341, 349, 363] [INFO] [stdout] b all: {296, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 296, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 296, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 296, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {306, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3181)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1053)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [306], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 306], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [341, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (306, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 341, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (341, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 306, 552, 564, 706, 341, 349, 363] [INFO] [stdout] b all: {306, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 306, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 306, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 306, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {311, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3186)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1053)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [311], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 311], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [341, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (311, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 341, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (341, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 311, 552, 564, 706, 341, 349, 363] [INFO] [stdout] b all: {311, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 311, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 311, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 2, 3, 4, 5, 6, 53, 311, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} [INFO] [stdout] b items: {313, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 910), fp: EncodedCountingMonoid(15, SumMonoid(3446)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 709), fp: EncodedCountingMonoid(7, SumMonoid(3188)) }, Fingerprint { range: Range(709, 910), fp: EncodedCountingMonoid(7, SumMonoid(5827)) }], item_sets: [ItemSet { range: Range(910, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 314), fp: EncodedCountingMonoid(7, SumMonoid(74)) }, Fingerprint { range: Range(314, 709), fp: EncodedCountingMonoid(7, SumMonoid(2463)) }], item_sets: [ItemSet { range: Range(709, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(314, 552), fp: EncodedCountingMonoid(3, SumMonoid(1053)) }, Fingerprint { range: Range(552, 709), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }], item_sets: [ItemSet { range: Range(709, 910), items: [709, 766, 829, 870, 876, 884, 893], want_response: false }, ItemSet { range: Range(1, 314), items: [313], want_response: true }], wants: [909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(314, 364), fp: EncodedCountingMonoid(4, SumMonoid(1368)) }, Fingerprint { range: Range(364, 552), fp: EncodedCountingMonoid(3, SumMonoid(1095)) }], item_sets: [ItemSet { range: Range(1, 314), items: [1, 2, 3, 4, 5, 6, 53], want_response: false }, ItemSet { range: Range(552, 709), items: [], want_response: true }], wants: [709, 766, 829, 870, 876, 884, 893, 313], provide: [(909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(552, 709), items: [552, 564, 706], want_response: false }, ItemSet { range: Range(314, 363), items: [341, 349], want_response: true }, ItemSet { range: Range(363, 364), items: [363], want_response: true }, ItemSet { range: Range(364, 552), items: [], want_response: true }], wants: [1, 2, 3, 4, 5, 6, 53], provide: [(709, true), (766, true), (829, true), (870, true), (876, true), (884, true), (893, true), (313, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(314, 363), items: [314, 343, 353, 358], want_response: false }, ItemSet { range: Range(363, 364), items: [], want_response: false }, ItemSet { range: Range(364, 552), items: [364, 365, 366], want_response: false }], wants: [552, 564, 706, 341, 349, 363], provide: [(1, true), (2, true), (3, true), (4, true), (5, true), (6, true), (53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [314, 343, 353, 358, 364, 365, 366], provide: [(552, true), (564, true), (706, true), (341, true), (349, true), (363, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(314, true), (343, true), (353, true), (358, true), (364, true), (365, true), (366, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366, 909} + [709, 766, 829, 870, 876, 884, 893, 313, 552, 564, 706, 341, 349, 363] [INFO] [stdout] b all: {313, 341, 349, 363, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893} + [909, 1, 2, 3, 4, 5, 6, 53, 314, 343, 353, 358, 364, 365, 366] [INFO] [stdout] [INFO] [stdout] all vec: [1, 2, 3, 4, 5, 6, 53, 313, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 2, 3, 4, 5, 6, 53, 313, 314, 341, 343, 349, 353, 358, 363, 364, 365, 366, 552, 564, 706, 709, 766, 829, 870, 876, 884, 893, 909], true true [WARN] too many lines in the log, truncating it