[INFO] fetching crate unionize 0.3.0... [INFO] testing unionize-0.3.0 against beta-2025-09-21 for beta-1.91-3 [INFO] extracting crate unionize 0.3.0 into /workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate unionize 0.3.0 on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5f486c538a5a7c91b1e388d39b1695147a5b0f0b304eba226d170c8512ec4581 [INFO] running `Command { std: "docker" "start" "-a" "5f486c538a5a7c91b1e388d39b1695147a5b0f0b304eba226d170c8512ec4581", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5f486c538a5a7c91b1e388d39b1695147a5b0f0b304eba226d170c8512ec4581", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f486c538a5a7c91b1e388d39b1695147a5b0f0b304eba226d170c8512ec4581", kill_on_drop: false }` [INFO] [stdout] 5f486c538a5a7c91b1e388d39b1695147a5b0f0b304eba226d170c8512ec4581 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 66d8f32e0f3033e0ebf60a8ba5bace9df8e2126571c9dc71582799646ae50071 [INFO] running `Command { std: "docker" "start" "-a" "66d8f32e0f3033e0ebf60a8ba5bace9df8e2126571c9dc71582799646ae50071", 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 unicode-ident v1.0.8 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling prettyplease v0.2.5 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling typenum v1.16.0 [INFO] [stderr] Compiling libloading v0.7.4 [INFO] [stderr] Compiling regex-syntax v0.7.1 [INFO] [stderr] Compiling bindgen v0.65.1 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling either v1.8.1 [INFO] [stderr] Compiling io-lifetimes v1.0.10 [INFO] [stderr] Compiling shlex v1.1.0 [INFO] [stderr] Compiling rustix v0.37.11 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling cc v1.0.79 [INFO] [stderr] Compiling libm v0.2.6 [INFO] [stderr] Compiling linux-raw-sys v0.3.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling serde v1.0.164 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling clang-sys v1.6.1 [INFO] [stderr] Compiling nom v2.2.1 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling cpufeatures v0.2.7 [INFO] [stderr] Compiling sise v0.8.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling procinfo v0.4.2 [INFO] [stderr] Compiling syn v2.0.16 [INFO] [stderr] Compiling which v4.4.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling digest v0.10.6 [INFO] [stderr] Compiling sha2 v0.10.6 [INFO] [stderr] Compiling getrandom v0.2.9 [INFO] [stderr] Compiling wait-timeout v0.2.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling regex v1.8.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_xorshift v0.3.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling tempfile v3.5.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling proptest v1.1.0 [INFO] [stderr] Compiling serde_derive v1.0.164 [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 41.55s [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 4` [INFO] running `Command { std: "docker" "inspect" "66d8f32e0f3033e0ebf60a8ba5bace9df8e2126571c9dc71582799646ae50071", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66d8f32e0f3033e0ebf60a8ba5bace9df8e2126571c9dc71582799646ae50071", kill_on_drop: false }` [INFO] [stdout] 66d8f32e0f3033e0ebf60a8ba5bace9df8e2126571c9dc71582799646ae50071 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 82ab1d22c4605a7df4dca98a411fd3631e8a3cbdaa56c61d977773ef96fc15b5 [INFO] running `Command { std: "docker" "start" "-a" "82ab1d22c4605a7df4dca98a411fd3631e8a3cbdaa56c61d977773ef96fc15b5", kill_on_drop: false }` [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] [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 4.78s [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 4` [INFO] running `Command { std: "docker" "inspect" "82ab1d22c4605a7df4dca98a411fd3631e8a3cbdaa56c61d977773ef96fc15b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "82ab1d22c4605a7df4dca98a411fd3631e8a3cbdaa56c61d977773ef96fc15b5", kill_on_drop: false }` [INFO] [stdout] 82ab1d22c4605a7df4dca98a411fd3631e8a3cbdaa56c61d977773ef96fc15b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4d484693fe4363aa2db9ef1ff1cd3e0fd7095d9fe079d19a74d8a38ec6297b4e [INFO] running `Command { std: "docker" "start" "-a" "4d484693fe4363aa2db9ef1ff1cd3e0fd7095d9fe079d19a74d8a38ec6297b4e", kill_on_drop: false }` [INFO] [stderr] warning: field `0` is never read [INFO] [stdout] [INFO] [stderr] --> src/tree/mem_rc_bounds/mod.rs:11:28 [INFO] [stdout] running 12 tests [INFO] [stderr] | [INFO] [stdout] test monoid::timestamped::tests::timestamped_is_protocolmonoid ... ok [INFO] [stderr] 11 | pub struct Tree(Rc>); [INFO] [stdout] test query::item_filter::tests::repro_atttempt ... ok [INFO] [stderr] | ---- ^^^^^^^^^^^ [INFO] [stdout] test query::item_filter::tests::base_test ... ok [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.10s [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 4` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/unionize-ee5fc9eddc446fc7) [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: {26, 29, 49, 71, 91, 125, 126, 136, 137, 140, 143, 154, 180, 192, 247, 270, 281, 289, 291, 304, 324, 382, 388, 402, 440, 453, 455, 461, 466, 490, 505, 511, 562, 571, 579, 581, 591, 593, 608, 616, 625, 631, 680, 681, 695, 702, 709, 711, 734, 762, 763, 772, 788, 819, 820, 830, 841, 842, 843, 899, 936, 937, 957, 960, 997} [INFO] [stdout] b items: {3, 43, 77, 115, 117, 122, 156, 183, 211, 220, 236, 253, 265, 266, 269, 271, 276, 303, 336, 347, 357, 375, 377, 390, 409, 432, 439, 449, 464, 472, 478, 498, 511, 532, 549, 552, 579, 612, 630, 634, 639, 679, 699, 713, 723, 732, 752, 763, 790, 793, 802, 806, 825, 831, 874, 885, 898, 915, 941, 946, 951, 962, 964, 975, 994} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(26, 998), fp: EncodedCountingMonoid(65, SumMonoid(33193)) }], item_sets: [ItemSet { range: Range(998, 26), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(26, 532), fp: EncodedCountingMonoid(32, SumMonoid(9717)) }, Fingerprint { range: Range(532, 998), fp: EncodedCountingMonoid(32, SumMonoid(24940)) }], item_sets: [ItemSet { range: Range(998, 26), items: [3], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(26, 281), fp: EncodedCountingMonoid(16, SumMonoid(2116)) }, Fingerprint { range: Range(281, 532), fp: EncodedCountingMonoid(16, SumMonoid(6442)) }, Fingerprint { range: Range(532, 762), fp: EncodedCountingMonoid(17, SumMonoid(10869)) }, Fingerprint { range: Range(762, 998), fp: EncodedCountingMonoid(16, SumMonoid(13766)) }], item_sets: [], wants: [3], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(26, 220), fp: EncodedCountingMonoid(8, SumMonoid(1024)) }, Fingerprint { range: Range(220, 281), fp: EncodedCountingMonoid(8, SumMonoid(2056)) }, Fingerprint { range: Range(281, 432), fp: EncodedCountingMonoid(8, SumMonoid(2894)) }, Fingerprint { range: Range(432, 532), fp: EncodedCountingMonoid(8, SumMonoid(3743)) }, Fingerprint { range: Range(532, 639), fp: EncodedCountingMonoid(7, SumMonoid(4088)) }, Fingerprint { range: Range(639, 762), fp: EncodedCountingMonoid(7, SumMonoid(4937)) }, Fingerprint { range: Range(762, 898), fp: EncodedCountingMonoid(9, SumMonoid(7369)) }, Fingerprint { range: Range(898, 998), fp: EncodedCountingMonoid(9, SumMonoid(8546)) }], item_sets: [], wants: [], provide: [(3, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(26, 136), fp: EncodedCountingMonoid(7, SumMonoid(517)) }, Fingerprint { range: Range(136, 220), fp: EncodedCountingMonoid(7, SumMonoid(1082)) }, Fingerprint { range: Range(281, 324), fp: EncodedCountingMonoid(4, SumMonoid(1165)) }, Fingerprint { range: Range(324, 432), fp: EncodedCountingMonoid(4, SumMonoid(1496)) }, Fingerprint { range: Range(432, 466), fp: EncodedCountingMonoid(4, SumMonoid(1809)) }, Fingerprint { range: Range(466, 532), fp: EncodedCountingMonoid(4, SumMonoid(1972)) }, Fingerprint { range: Range(532, 593), fp: EncodedCountingMonoid(5, SumMonoid(2884)) }, Fingerprint { range: Range(593, 639), fp: EncodedCountingMonoid(5, SumMonoid(3073)) }, Fingerprint { range: Range(639, 709), fp: EncodedCountingMonoid(4, SumMonoid(2758)) }, Fingerprint { range: Range(709, 762), fp: EncodedCountingMonoid(3, SumMonoid(2154)) }, Fingerprint { range: Range(762, 820), fp: EncodedCountingMonoid(5, SumMonoid(3904)) }, Fingerprint { range: Range(820, 898), fp: EncodedCountingMonoid(5, SumMonoid(4176)) }, Fingerprint { range: Range(898, 957), fp: EncodedCountingMonoid(3, SumMonoid(2772)) }, Fingerprint { range: Range(957, 998), fp: EncodedCountingMonoid(3, SumMonoid(2914)) }], item_sets: [ItemSet { range: Range(220, 281), items: [247, 270], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(26, 117), fp: EncodedCountingMonoid(3, SumMonoid(235)) }, Fingerprint { range: Range(324, 377), fp: EncodedCountingMonoid(4, SumMonoid(1415)) }, Fingerprint { range: Range(377, 432), fp: EncodedCountingMonoid(3, SumMonoid(1176)) }, Fingerprint { range: Range(762, 802), fp: EncodedCountingMonoid(3, SumMonoid(2346)) }, Fingerprint { range: Range(898, 946), fp: EncodedCountingMonoid(3, SumMonoid(2754)) }], item_sets: [ItemSet { range: Range(220, 281), items: [220, 236, 253, 265, 266, 269, 271, 276], want_response: false }, ItemSet { range: Range(117, 136), items: [117, 122], want_response: true }, ItemSet { range: Range(136, 211), items: [156, 183], want_response: true }, ItemSet { range: Range(211, 220), items: [211], want_response: true }, ItemSet { range: Range(281, 324), items: [303], want_response: true }, ItemSet { range: Range(432, 449), items: [432, 439], want_response: true }, ItemSet { range: Range(449, 466), items: [449, 464], want_response: true }, ItemSet { range: Range(466, 498), items: [472, 478], want_response: true }, ItemSet { range: Range(498, 532), items: [498, 511], want_response: true }, ItemSet { range: Range(532, 552), items: [532, 549], want_response: true }, ItemSet { range: Range(552, 593), items: [552, 579], want_response: true }, ItemSet { range: Range(593, 634), items: [612, 630], want_response: true }, ItemSet { range: Range(634, 639), items: [634], want_response: true }, ItemSet { range: Range(639, 699), items: [639, 679], want_response: true }, ItemSet { range: Range(699, 709), items: [699], want_response: true }, ItemSet { range: Range(709, 732), items: [713, 723], want_response: true }, ItemSet { range: Range(732, 762), items: [732, 752], want_response: true }, ItemSet { range: Range(802, 820), items: [802, 806], want_response: true }, ItemSet { range: Range(820, 874), items: [825, 831], want_response: true }, ItemSet { range: Range(874, 898), items: [874, 885], want_response: true }, ItemSet { range: Range(946, 957), items: [946, 951], want_response: true }, ItemSet { range: Range(957, 975), items: [962, 964], want_response: true }, ItemSet { range: Range(975, 998), items: [975, 994], want_response: true }], wants: [247, 270], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(26, 71), fp: EncodedCountingMonoid(3, SumMonoid(104)) }], item_sets: [ItemSet { range: Range(117, 136), items: [125, 126], want_response: false }, ItemSet { range: Range(136, 211), items: [136, 137, 140, 143, 154, 180, 192], want_response: false }, ItemSet { range: Range(211, 220), items: [], want_response: false }, ItemSet { range: Range(281, 324), items: [281, 289, 291, 304], want_response: false }, ItemSet { range: Range(432, 449), items: [440], want_response: false }, ItemSet { range: Range(449, 466), items: [453, 455, 461], want_response: false }, ItemSet { range: Range(466, 498), items: [466, 490], want_response: false }, ItemSet { range: Range(498, 532), items: [505, 511], want_response: false }, ItemSet { range: Range(532, 552), items: [], want_response: false }, ItemSet { range: Range(552, 593), items: [562, 571, 579, 581, 591], want_response: false }, ItemSet { range: Range(593, 634), items: [593, 608, 616, 625, 631], want_response: false }, ItemSet { range: Range(634, 639), items: [], want_response: false }, ItemSet { range: Range(639, 699), items: [680, 681, 695], want_response: false }, ItemSet { range: Range(699, 709), items: [702], want_response: false }, ItemSet { range: Range(709, 732), items: [709, 711], want_response: false }, ItemSet { range: Range(732, 762), items: [734], want_response: false }, ItemSet { range: Range(802, 820), items: [819], want_response: false }, ItemSet { range: Range(820, 874), items: [820, 830, 841, 842, 843], want_response: false }, ItemSet { range: Range(874, 898), items: [], want_response: false }, ItemSet { range: Range(946, 957), items: [], want_response: false }, ItemSet { range: Range(957, 975), items: [957, 960], want_response: false }, ItemSet { range: Range(975, 998), items: [997], want_response: false }, ItemSet { range: Range(71, 117), items: [71, 91], want_response: true }, ItemSet { range: Range(324, 377), items: [324], want_response: true }, ItemSet { range: Range(377, 402), items: [382, 388], want_response: true }, ItemSet { range: Range(402, 432), items: [402], want_response: true }, ItemSet { range: Range(762, 772), items: [762, 763], want_response: true }, ItemSet { range: Range(772, 802), items: [772, 788], want_response: true }, ItemSet { range: Range(898, 937), items: [899, 936], want_response: true }, ItemSet { range: Range(937, 946), items: [937], want_response: true }], wants: [220, 236, 253, 265, 266, 269, 271, 276, 117, 122, 156, 183, 211, 303, 432, 439, 449, 464, 472, 478, 498, 532, 549, 552, 612, 630, 634, 639, 679, 699, 713, 723, 732, 752, 802, 806, 825, 831, 874, 885, 946, 951, 962, 964, 975, 994], provide: [(247, true), (270, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(71, 117), items: [77, 115], want_response: false }, ItemSet { range: Range(324, 377), items: [336, 347, 357, 375], want_response: false }, ItemSet { range: Range(377, 402), items: [377, 390], want_response: false }, ItemSet { range: Range(402, 432), items: [409], want_response: false }, ItemSet { range: Range(762, 772), items: [763], want_response: false }, ItemSet { range: Range(772, 802), items: [790, 793], want_response: false }, ItemSet { range: Range(898, 937), items: [898, 915], want_response: false }, ItemSet { range: Range(937, 946), items: [941], want_response: false }, ItemSet { range: Range(26, 71), items: [43], want_response: true }], wants: [125, 126, 136, 137, 140, 143, 154, 180, 192, 281, 289, 291, 304, 440, 453, 455, 461, 466, 490, 505, 562, 571, 581, 591, 593, 608, 616, 625, 631, 680, 681, 695, 702, 709, 711, 734, 819, 820, 830, 841, 842, 843, 957, 960, 997, 71, 91, 324, 382, 388, 402, 762, 772, 788, 899, 936, 937], provide: [(220, true), (236, true), (253, true), (265, true), (266, true), (269, true), (271, true), (276, true), (117, true), (122, true), (156, true), (183, true), (211, true), (303, true), (432, true), (439, true), (449, true), (464, true), (472, true), (478, true), (498, true), (532, true), (549, true), (552, true), (612, true), (630, true), (634, true), (639, true), (679, true), (699, true), (713, true), (723, true), (732, true), (752, true), (802, true), (806, true), (825, true), (831, true), (874, true), (885, true), (946, true), (951, true), (962, true), (964, true), (975, true), (994, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(26, 71), items: [26, 29, 49], want_response: false }], wants: [77, 115, 336, 347, 357, 375, 377, 390, 409, 790, 793, 898, 915, 941, 43], provide: [(125, true), (126, true), (136, true), (137, true), (140, true), (143, true), (154, true), (180, true), (192, true), (281, true), (289, true), (291, true), (304, true), (440, true), (453, true), (455, true), (461, true), (466, true), (490, true), (505, true), (562, true), (571, true), (581, true), (591, true), (593, true), (608, true), (616, true), (625, true), (631, true), (680, true), (681, true), (695, true), (702, true), (709, true), (711, true), (734, true), (819, true), (820, true), (830, true), (841, true), (842, true), (843, true), (957, true), (960, true), (997, true), (71, true), (91, true), (324, true), (382, true), (388, true), (402, true), (762, true), (772, true), (788, true), (899, true), (936, true), (937, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [26, 29, 49], provide: [(77, true), (115, true), (336, true), (347, true), (357, true), (375, true), (377, true), (390, true), (409, true), (790, true), (793, true), (898, true), (915, true), (941, true), (43, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(26, true), (29, true), (49, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {26, 29, 49, 71, 91, 125, 126, 136, 137, 140, 143, 154, 180, 192, 247, 270, 281, 289, 291, 304, 324, 382, 388, 402, 440, 453, 455, 461, 466, 490, 505, 511, 562, 571, 579, 581, 591, 593, 608, 616, 625, 631, 680, 681, 695, 702, 709, 711, 734, 762, 763, 772, 788, 819, 820, 830, 841, 842, 843, 899, 936, 937, 957, 960, 997} + [3, 220, 236, 253, 265, 266, 269, 271, 276, 117, 122, 156, 183, 211, 303, 432, 439, 449, 464, 472, 478, 498, 532, 549, 552, 612, 630, 634, 639, 679, 699, 713, 723, 732, 752, 802, 806, 825, 831, 874, 885, 946, 951, 962, 964, 975, 994, 77, 115, 336, 347, 357, 375, 377, 390, 409, 790, 793, 898, 915, 941, 43] [INFO] [stdout] b all: {3, 43, 77, 115, 117, 122, 156, 183, 211, 220, 236, 253, 265, 266, 269, 271, 276, 303, 336, 347, 357, 375, 377, 390, 409, 432, 439, 449, 464, 472, 478, 498, 511, 532, 549, 552, 579, 612, 630, 634, 639, 679, 699, 713, 723, 732, 752, 763, 790, 793, 802, 806, 825, 831, 874, 885, 898, 915, 941, 946, 951, 962, 964, 975, 994} + [247, 270, 125, 126, 136, 137, 140, 143, 154, 180, 192, 281, 289, 291, 304, 440, 453, 455, 461, 466, 490, 505, 562, 571, 581, 591, 593, 608, 616, 625, 631, 680, 681, 695, 702, 709, 711, 734, 819, 820, 830, 841, 842, 843, 957, 960, 997, 71, 91, 324, 382, 388, 402, 762, 772, 788, 899, 936, 937, 26, 29, 49] [INFO] [stdout] [INFO] [stdout] all vec: [3, 26, 29, 43, 49, 71, 77, 91, 115, 117, 122, 125, 126, 136, 137, 140, 143, 154, 156, 180, 183, 192, 211, 220, 236, 247, 253, 265, 266, 269, 270, 271, 276, 281, 289, 291, 303, 304, 324, 336, 347, 357, 375, 377, 382, 388, 390, 402, 409, 432, 439, 440, 449, 453, 455, 461, 464, 466, 472, 478, 490, 498, 505, 511, 532, 549, 552, 562, 571, 579, 581, 591, 593, 608, 612, 616, 625, 630, 631, 634, 639, 679, 680, 681, 695, 699, 702, 709, 711, 713, 723, 732, 734, 752, 762, 763, 772, 788, 790, 793, 802, 806, 819, 820, 825, 830, 831, 841, 842, 843, 874, 885, 898, 899, 915, 936, 937, 941, 946, 951, 957, 960, 962, 964, 975, 994, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 26, 29, 43, 49, 71, 77, 91, 115, 117, 122, 125, 126, 136, 137, 140, 143, 154, 156, 180, 183, 192, 211, 220, 236, 247, 253, 265, 266, 269, 270, 271, 276, 281, 289, 291, 303, 304, 324, 336, 347, 357, 375, 377, 382, 388, 390, 402, 409, 432, 439, 440, 449, 453, 455, 461, 464, 466, 472, 478, 490, 498, 505, 511, 532, 549, 552, 562, 571, 579, 581, 591, 593, 608, 612, 616, 625, 630, 631, 634, 639, 679, 680, 681, 695, 699, 702, 709, 711, 713, 723, 732, 734, 752, 762, 763, 772, 788, 790, 793, 802, 806, 819, 820, 825, 830, 831, 841, 842, 843, 874, 885, 898, 899, 915, 936, 937, 941, 946, 951, 957, 960, 962, 964, 975, 994, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 26, 29, 43, 49, 71, 77, 91, 115, 117, 122, 125, 126, 136, 137, 140, 143, 154, 156, 180, 183, 192, 211, 220, 236, 247, 253, 265, 266, 269, 270, 271, 276, 281, 289, 291, 303, 304, 324, 336, 347, 357, 375, 377, 382, 388, 390, 402, 409, 432, 439, 440, 449, 453, 455, 461, 464, 466, 472, 478, 490, 498, 505, 511, 532, 549, 552, 562, 571, 579, 581, 591, 593, 608, 612, 616, 625, 630, 631, 634, 639, 679, 680, 681, 695, 699, 702, 709, 711, 713, 723, 732, 734, 752, 762, 763, 772, 788, 790, 793, 802, 806, 819, 820, 825, 830, 831, 841, 842, 843, 874, 885, 898, 899, 915, 936, 937, 941, 946, 951, 957, 960, 962, 964, 975, 994, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 20, 37, 65, 71, 72, 73, 74, 82, 100, 109, 116, 122, 173, 194, 269, 290, 304, 370, 384, 390, 408, 416, 435, 449, 542, 564, 598, 606, 617, 620, 633, 639, 660, 679, 688, 695, 737, 761, 762, 792, 794, 805, 845, 892, 917, 943, 947, 966, 980, 986, 995} [INFO] [stdout] b items: {2, 5, 7, 13, 19, 25, 39, 53, 54, 62, 76, 79, 98, 106, 135, 138, 173, 178, 184, 186, 206, 223, 236, 267, 278, 283, 287, 340, 342, 350, 361, 363, 389, 395, 415, 427, 437, 472, 479, 493, 496, 501, 506, 508, 515, 518, 528, 546, 547, 550, 563, 573, 586, 592, 624, 629, 631, 648, 651, 654, 655, 658, 669, 694, 703, 727, 730, 732, 744, 751, 756, 775, 797, 827, 846, 857, 859, 860, 861, 864, 876, 878, 879, 897, 901, 904, 915, 917, 920, 922, 933, 948, 970, 988} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 996), fp: EncodedCountingMonoid(52, SumMonoid(25692)) }], item_sets: [ItemSet { range: Range(996, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 547), fp: EncodedCountingMonoid(46, SumMonoid(12786)) }, Fingerprint { range: Range(547, 996), fp: EncodedCountingMonoid(46, SumMonoid(35461)) }], item_sets: [ItemSet { range: Range(996, 6), items: [2, 5], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 173), fp: EncodedCountingMonoid(13, SumMonoid(947)) }, Fingerprint { range: Range(173, 547), fp: EncodedCountingMonoid(13, SumMonoid(4624)) }, Fingerprint { range: Range(547, 762), fp: EncodedCountingMonoid(13, SumMonoid(8497)) }, Fingerprint { range: Range(762, 996), fp: EncodedCountingMonoid(13, SumMonoid(11624)) }], item_sets: [], wants: [2, 5], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 62), fp: EncodedCountingMonoid(7, SumMonoid(210)) }, Fingerprint { range: Range(62, 173), fp: EncodedCountingMonoid(7, SumMonoid(694)) }, Fingerprint { range: Range(173, 389), fp: EncodedCountingMonoid(16, SumMonoid(4257)) }, Fingerprint { range: Range(389, 547), fp: EncodedCountingMonoid(16, SumMonoid(7625)) }, Fingerprint { range: Range(547, 655), fp: EncodedCountingMonoid(12, SumMonoid(7248)) }, Fingerprint { range: Range(655, 762), fp: EncodedCountingMonoid(11, SumMonoid(7819)) }, Fingerprint { range: Range(762, 897), fp: EncodedCountingMonoid(12, SumMonoid(10179)) }, Fingerprint { range: Range(897, 996), fp: EncodedCountingMonoid(11, SumMonoid(10215)) }], item_sets: [], wants: [], provide: [(2, true), (5, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(62, 82), fp: EncodedCountingMonoid(5, SumMonoid(355)) }, Fingerprint { range: Range(82, 173), fp: EncodedCountingMonoid(5, SumMonoid(529)) }, Fingerprint { range: Range(173, 304), fp: EncodedCountingMonoid(4, SumMonoid(926)) }, Fingerprint { range: Range(304, 389), fp: EncodedCountingMonoid(3, SumMonoid(1058)) }, Fingerprint { range: Range(389, 435), fp: EncodedCountingMonoid(3, SumMonoid(1214)) }, Fingerprint { range: Range(435, 547), fp: EncodedCountingMonoid(3, SumMonoid(1426)) }, Fingerprint { range: Range(547, 620), fp: EncodedCountingMonoid(4, SumMonoid(2385)) }, Fingerprint { range: Range(620, 655), fp: EncodedCountingMonoid(3, SumMonoid(1892)) }, Fingerprint { range: Range(655, 695), fp: EncodedCountingMonoid(3, SumMonoid(2027)) }, Fingerprint { range: Range(695, 762), fp: EncodedCountingMonoid(3, SumMonoid(2193)) }, Fingerprint { range: Range(762, 805), fp: EncodedCountingMonoid(3, SumMonoid(2348)) }, Fingerprint { range: Range(805, 897), fp: EncodedCountingMonoid(3, SumMonoid(2542)) }, Fingerprint { range: Range(897, 980), fp: EncodedCountingMonoid(4, SumMonoid(3773)) }, Fingerprint { range: Range(980, 996), fp: EncodedCountingMonoid(3, SumMonoid(2961)) }], item_sets: [ItemSet { range: Range(6, 37), items: [6, 20], want_response: true }, ItemSet { range: Range(37, 62), items: [37], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(173, 236), fp: EncodedCountingMonoid(6, SumMonoid(1150)) }, Fingerprint { range: Range(236, 304), fp: EncodedCountingMonoid(5, SumMonoid(1351)) }, Fingerprint { range: Range(304, 361), fp: EncodedCountingMonoid(3, SumMonoid(1032)) }, Fingerprint { range: Range(435, 506), fp: EncodedCountingMonoid(6, SumMonoid(2878)) }, Fingerprint { range: Range(506, 547), fp: EncodedCountingMonoid(6, SumMonoid(3121)) }, Fingerprint { range: Range(547, 573), fp: EncodedCountingMonoid(3, SumMonoid(1660)) }, Fingerprint { range: Range(573, 620), fp: EncodedCountingMonoid(3, SumMonoid(1751)) }, Fingerprint { range: Range(620, 648), fp: EncodedCountingMonoid(3, SumMonoid(1884)) }, Fingerprint { range: Range(648, 655), fp: EncodedCountingMonoid(3, SumMonoid(1953)) }, Fingerprint { range: Range(695, 744), fp: EncodedCountingMonoid(4, SumMonoid(2892)) }, Fingerprint { range: Range(744, 762), fp: EncodedCountingMonoid(3, SumMonoid(2251)) }, Fingerprint { range: Range(805, 861), fp: EncodedCountingMonoid(5, SumMonoid(4249)) }, Fingerprint { range: Range(861, 897), fp: EncodedCountingMonoid(5, SumMonoid(4358)) }, Fingerprint { range: Range(897, 920), fp: EncodedCountingMonoid(5, SumMonoid(4534)) }, Fingerprint { range: Range(920, 980), fp: EncodedCountingMonoid(5, SumMonoid(4693)) }], item_sets: [ItemSet { range: Range(6, 37), items: [7, 13, 19, 25], want_response: false }, ItemSet { range: Range(37, 62), items: [39, 53, 54], want_response: false }, ItemSet { range: Range(62, 79), items: [62, 76], want_response: true }, ItemSet { range: Range(79, 82), items: [79], want_response: true }, ItemSet { range: Range(82, 135), items: [98, 106], want_response: true }, ItemSet { range: Range(135, 173), items: [135, 138], want_response: true }, ItemSet { range: Range(361, 389), items: [361, 363], want_response: true }, ItemSet { range: Range(389, 415), items: [389, 395], want_response: true }, ItemSet { range: Range(415, 435), items: [415, 427], want_response: true }, ItemSet { range: Range(655, 669), items: [655, 658], want_response: true }, ItemSet { range: Range(669, 695), items: [669, 694], want_response: true }, ItemSet { range: Range(762, 805), items: [775, 797], want_response: true }, ItemSet { range: Range(980, 996), items: [988], want_response: true }], wants: [6, 20, 37], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(62, 79), items: [65, 71, 72, 73, 74], want_response: false }, ItemSet { range: Range(79, 82), items: [], want_response: false }, ItemSet { range: Range(82, 135), items: [82, 100, 109, 116, 122], want_response: false }, ItemSet { range: Range(135, 173), items: [], want_response: false }, ItemSet { range: Range(361, 389), items: [370, 384], want_response: false }, ItemSet { range: Range(389, 415), items: [390, 408], want_response: false }, ItemSet { range: Range(415, 435), items: [416], want_response: false }, ItemSet { range: Range(655, 669), items: [660], want_response: false }, ItemSet { range: Range(669, 695), items: [679, 688], want_response: false }, ItemSet { range: Range(762, 805), items: [762, 792, 794], want_response: false }, ItemSet { range: Range(980, 996), items: [980, 986, 995], want_response: false }, ItemSet { range: Range(173, 236), items: [173, 194], want_response: true }, ItemSet { range: Range(236, 304), items: [269, 290], want_response: true }, ItemSet { range: Range(304, 361), items: [304], want_response: true }, ItemSet { range: Range(435, 506), items: [435, 449], want_response: true }, ItemSet { range: Range(506, 547), items: [542], want_response: true }, ItemSet { range: Range(547, 573), items: [564], want_response: true }, ItemSet { range: Range(573, 617), items: [598, 606], want_response: true }, ItemSet { range: Range(617, 620), items: [617], want_response: true }, ItemSet { range: Range(620, 639), items: [620, 633], want_response: true }, ItemSet { range: Range(639, 648), items: [639], want_response: true }, ItemSet { range: Range(648, 655), items: [], want_response: true }, ItemSet { range: Range(695, 744), items: [695, 737], want_response: true }, ItemSet { range: Range(744, 762), items: [761], want_response: true }, ItemSet { range: Range(805, 861), items: [805, 845], want_response: true }, ItemSet { range: Range(861, 897), items: [892], want_response: true }, ItemSet { range: Range(897, 920), items: [917], want_response: true }, ItemSet { range: Range(920, 966), items: [943, 947], want_response: true }, ItemSet { range: Range(966, 980), items: [966], want_response: true }], wants: [7, 13, 19, 25, 39, 53, 54, 62, 76, 79, 98, 106, 135, 138, 361, 363, 389, 395, 415, 427, 655, 658, 669, 694, 775, 797, 988], provide: [(6, true), (20, true), (37, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(173, 236), items: [173, 178, 184, 186, 206, 223], want_response: false }, ItemSet { range: Range(236, 304), items: [236, 267, 278, 283, 287], want_response: false }, ItemSet { range: Range(304, 361), items: [340, 342, 350], want_response: false }, ItemSet { range: Range(435, 506), items: [437, 472, 479, 493, 496, 501], want_response: false }, ItemSet { range: Range(506, 547), items: [506, 508, 515, 518, 528, 546], want_response: false }, ItemSet { range: Range(547, 573), items: [547, 550, 563], want_response: false }, ItemSet { range: Range(573, 617), items: [573, 586, 592], want_response: false }, ItemSet { range: Range(617, 620), items: [], want_response: false }, ItemSet { range: Range(620, 639), items: [624, 629, 631], want_response: false }, ItemSet { range: Range(639, 648), items: [], want_response: false }, ItemSet { range: Range(648, 655), items: [648, 651, 654], want_response: false }, ItemSet { range: Range(695, 744), items: [703, 727, 730, 732], want_response: false }, ItemSet { range: Range(744, 762), items: [744, 751, 756], want_response: false }, ItemSet { range: Range(805, 861), items: [827, 846, 857, 859, 860], want_response: false }, ItemSet { range: Range(861, 897), items: [861, 864, 876, 878, 879], want_response: false }, ItemSet { range: Range(897, 920), items: [897, 901, 904, 915, 917], want_response: false }, ItemSet { range: Range(920, 966), items: [920, 922, 933, 948], want_response: false }, ItemSet { range: Range(966, 980), items: [970], want_response: false }], wants: [65, 71, 72, 73, 74, 82, 100, 109, 116, 122, 370, 384, 390, 408, 416, 660, 679, 688, 762, 792, 794, 980, 986, 995, 194, 269, 290, 304, 435, 449, 542, 564, 598, 606, 617, 620, 633, 639, 695, 737, 761, 805, 845, 892, 943, 947, 966], provide: [(7, true), (13, true), (19, true), (25, true), (39, true), (53, true), (54, true), (62, true), (76, true), (79, true), (98, true), (106, true), (135, true), (138, true), (361, true), (363, true), (389, true), (395, true), (415, true), (427, true), (655, true), (658, true), (669, true), (694, true), (775, true), (797, true), (988, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [178, 184, 186, 206, 223, 236, 267, 278, 283, 287, 340, 342, 350, 437, 472, 479, 493, 496, 501, 506, 508, 515, 518, 528, 546, 547, 550, 563, 573, 586, 592, 624, 629, 631, 648, 651, 654, 703, 727, 730, 732, 744, 751, 756, 827, 846, 857, 859, 860, 861, 864, 876, 878, 879, 897, 901, 904, 915, 920, 922, 933, 948, 970], provide: [(65, true), (71, true), (72, true), (73, true), (74, true), (82, true), (100, true), (109, true), (116, true), (122, true), (370, true), (384, true), (390, true), (408, true), (416, true), (660, true), (679, true), (688, true), (762, true), (792, true), (794, true), (980, true), (986, true), (995, true), (194, true), (269, true), (290, true), (304, true), (435, true), (449, true), (542, true), (564, true), (598, true), (606, true), (617, true), (620, true), (633, true), (639, true), (695, true), (737, true), (761, true), (805, true), (845, true), (892, true), (943, true), (947, true), (966, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(178, true), (184, true), (186, true), (206, true), (223, true), (236, true), (267, true), (278, true), (283, true), (287, true), (340, true), (342, true), (350, true), (437, true), (472, true), (479, true), (493, true), (496, true), (501, true), (506, true), (508, true), (515, true), (518, true), (528, true), (546, true), (547, true), (550, true), (563, true), (573, true), (586, true), (592, true), (624, true), (629, true), (631, true), (648, true), (651, true), (654, true), (703, true), (727, true), (730, true), (732, true), (744, true), (751, true), (756, true), (827, true), (846, true), (857, true), (859, true), (860, true), (861, true), (864, true), (876, true), (878, true), (879, true), (897, true), (901, true), (904, true), (915, true), (920, true), (922, true), (933, true), (948, true), (970, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 20, 37, 65, 71, 72, 73, 74, 82, 100, 109, 116, 122, 173, 194, 269, 290, 304, 370, 384, 390, 408, 416, 435, 449, 542, 564, 598, 606, 617, 620, 633, 639, 660, 679, 688, 695, 737, 761, 762, 792, 794, 805, 845, 892, 917, 943, 947, 966, 980, 986, 995} + [2, 5, 7, 13, 19, 25, 39, 53, 54, 62, 76, 79, 98, 106, 135, 138, 361, 363, 389, 395, 415, 427, 655, 658, 669, 694, 775, 797, 988, 178, 184, 186, 206, 223, 236, 267, 278, 283, 287, 340, 342, 350, 437, 472, 479, 493, 496, 501, 506, 508, 515, 518, 528, 546, 547, 550, 563, 573, 586, 592, 624, 629, 631, 648, 651, 654, 703, 727, 730, 732, 744, 751, 756, 827, 846, 857, 859, 860, 861, 864, 876, 878, 879, 897, 901, 904, 915, 920, 922, 933, 948, 970] [INFO] [stdout] b all: {2, 5, 7, 13, 19, 25, 39, 53, 54, 62, 76, 79, 98, 106, 135, 138, 173, 178, 184, 186, 206, 223, 236, 267, 278, 283, 287, 340, 342, 350, 361, 363, 389, 395, 415, 427, 437, 472, 479, 493, 496, 501, 506, 508, 515, 518, 528, 546, 547, 550, 563, 573, 586, 592, 624, 629, 631, 648, 651, 654, 655, 658, 669, 694, 703, 727, 730, 732, 744, 751, 756, 775, 797, 827, 846, 857, 859, 860, 861, 864, 876, 878, 879, 897, 901, 904, 915, 917, 920, 922, 933, 948, 970, 988} + [6, 20, 37, 65, 71, 72, 73, 74, 82, 100, 109, 116, 122, 370, 384, 390, 408, 416, 660, 679, 688, 762, 792, 794, 980, 986, 995, 194, 269, 290, 304, 435, 449, 542, 564, 598, 606, 617, 620, 633, 639, 695, 737, 761, 805, 845, 892, 943, 947, 966] [INFO] [stdout] [INFO] [stdout] all vec: [2, 5, 6, 7, 13, 19, 20, 25, 37, 39, 53, 54, 62, 65, 71, 72, 73, 74, 76, 79, 82, 98, 100, 106, 109, 116, 122, 135, 138, 173, 178, 184, 186, 194, 206, 223, 236, 267, 269, 278, 283, 287, 290, 304, 340, 342, 350, 361, 363, 370, 384, 389, 390, 395, 408, 415, 416, 427, 435, 437, 449, 472, 479, 493, 496, 501, 506, 508, 515, 518, 528, 542, 546, 547, 550, 563, 564, 573, 586, 592, 598, 606, 617, 620, 624, 629, 631, 633, 639, 648, 651, 654, 655, 658, 660, 669, 679, 688, 694, 695, 703, 727, 730, 732, 737, 744, 751, 756, 761, 762, 775, 792, 794, 797, 805, 827, 845, 846, 857, 859, 860, 861, 864, 876, 878, 879, 892, 897, 901, 904, 915, 917, 920, 922, 933, 943, 947, 948, 966, 970, 980, 986, 988, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 5, 6, 7, 13, 19, 20, 25, 37, 39, 53, 54, 62, 65, 71, 72, 73, 74, 76, 79, 82, 98, 100, 106, 109, 116, 122, 135, 138, 173, 178, 184, 186, 194, 206, 223, 236, 267, 269, 278, 283, 287, 290, 304, 340, 342, 350, 361, 363, 370, 384, 389, 390, 395, 408, 415, 416, 427, 435, 437, 449, 472, 479, 493, 496, 501, 506, 508, 515, 518, 528, 542, 546, 547, 550, 563, 564, 573, 586, 592, 598, 606, 617, 620, 624, 629, 631, 633, 639, 648, 651, 654, 655, 658, 660, 669, 679, 688, 694, 695, 703, 727, 730, 732, 737, 744, 751, 756, 761, 762, 775, 792, 794, 797, 805, 827, 845, 846, 857, 859, 860, 861, 864, 876, 878, 879, 892, 897, 901, 904, 915, 917, 920, 922, 933, 943, 947, 948, 966, 970, 980, 986, 988, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 5, 6, 7, 13, 19, 20, 25, 37, 39, 53, 54, 62, 65, 71, 72, 73, 74, 76, 79, 82, 98, 100, 106, 109, 116, 122, 135, 138, 173, 178, 184, 186, 194, 206, 223, 236, 267, 269, 278, 283, 287, 290, 304, 340, 342, 350, 361, 363, 370, 384, 389, 390, 395, 408, 415, 416, 427, 435, 437, 449, 472, 479, 493, 496, 501, 506, 508, 515, 518, 528, 542, 546, 547, 550, 563, 564, 573, 586, 592, 598, 606, 617, 620, 624, 629, 631, 633, 639, 648, 651, 654, 655, 658, 660, 669, 679, 688, 694, 695, 703, 727, 730, 732, 737, 744, 751, 756, 761, 762, 775, 792, 794, 797, 805, 827, 845, 846, 857, 859, 860, 861, 864, 876, 878, 879, 892, 897, 901, 904, 915, 917, 920, 922, 933, 943, 947, 948, 966, 970, 980, 986, 988, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {39, 48, 88, 92, 94, 125, 130, 167, 174, 183, 186, 221, 235, 245, 261, 304, 317, 319, 357, 362, 366, 494, 505, 509, 531, 559, 577, 609, 649, 651, 658, 665, 668, 719, 724, 739, 749, 753, 762, 784, 794, 796, 917, 927, 951, 952, 971, 977, 990} [INFO] [stdout] b items: {1, 30, 49, 57, 92, 111, 153, 186, 263, 278, 315, 318, 331, 357, 377, 393, 454, 472, 498, 510, 564, 591, 597, 632, 636, 641, 652, 656, 696, 735, 812, 876, 886, 895, 896, 922, 941, 952, 960} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(39, 991), fp: EncodedCountingMonoid(49, SumMonoid(24893)) }], item_sets: [ItemSet { range: Range(991, 39), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(39, 591), fp: EncodedCountingMonoid(19, SumMonoid(5778)) }, Fingerprint { range: Range(591, 991), fp: EncodedCountingMonoid(18, SumMonoid(13976)) }], item_sets: [ItemSet { range: Range(991, 39), items: [1, 30], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(39, 261), fp: EncodedCountingMonoid(14, SumMonoid(2027)) }, Fingerprint { range: Range(261, 591), fp: EncodedCountingMonoid(13, SumMonoid(5461)) }, Fingerprint { range: Range(591, 762), fp: EncodedCountingMonoid(11, SumMonoid(7584)) }, Fingerprint { range: Range(762, 991), fp: EncodedCountingMonoid(11, SumMonoid(9821)) }], item_sets: [], wants: [1, 30], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(39, 111), fp: EncodedCountingMonoid(3, SumMonoid(198)) }, Fingerprint { range: Range(111, 261), fp: EncodedCountingMonoid(3, SumMonoid(450)) }, Fingerprint { range: Range(261, 393), fp: EncodedCountingMonoid(7, SumMonoid(2239)) }, Fingerprint { range: Range(393, 591), fp: EncodedCountingMonoid(6, SumMonoid(2891)) }, Fingerprint { range: Range(591, 652), fp: EncodedCountingMonoid(5, SumMonoid(3097)) }, Fingerprint { range: Range(652, 762), fp: EncodedCountingMonoid(4, SumMonoid(2739)) }, Fingerprint { range: Range(762, 922), fp: EncodedCountingMonoid(5, SumMonoid(4365)) }, Fingerprint { range: Range(922, 991), fp: EncodedCountingMonoid(4, SumMonoid(3775)) }], item_sets: [], wants: [], provide: [(1, true), (30, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(39, 92), fp: EncodedCountingMonoid(3, SumMonoid(175)) }, Fingerprint { range: Range(111, 186), fp: EncodedCountingMonoid(5, SumMonoid(779)) }, Fingerprint { range: Range(186, 261), fp: EncodedCountingMonoid(4, SumMonoid(887)) }, Fingerprint { range: Range(261, 357), fp: EncodedCountingMonoid(4, SumMonoid(1201)) }, Fingerprint { range: Range(357, 393), fp: EncodedCountingMonoid(3, SumMonoid(1085)) }, Fingerprint { range: Range(393, 531), fp: EncodedCountingMonoid(3, SumMonoid(1508)) }, Fingerprint { range: Range(531, 591), fp: EncodedCountingMonoid(3, SumMonoid(1667)) }, Fingerprint { range: Range(652, 724), fp: EncodedCountingMonoid(4, SumMonoid(2710)) }, Fingerprint { range: Range(724, 762), fp: EncodedCountingMonoid(4, SumMonoid(2965)) }, Fingerprint { range: Range(762, 796), fp: EncodedCountingMonoid(3, SumMonoid(2340)) }, Fingerprint { range: Range(922, 971), fp: EncodedCountingMonoid(3, SumMonoid(2830)) }, Fingerprint { range: Range(971, 991), fp: EncodedCountingMonoid(3, SumMonoid(2938)) }], item_sets: [ItemSet { range: Range(92, 111), items: [92, 94], want_response: true }, ItemSet { range: Range(591, 651), items: [609, 649], want_response: true }, ItemSet { range: Range(651, 652), items: [651], want_response: true }, ItemSet { range: Range(796, 922), items: [796, 917], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(261, 318), fp: EncodedCountingMonoid(3, SumMonoid(856)) }, Fingerprint { range: Range(393, 498), fp: EncodedCountingMonoid(3, SumMonoid(1319)) }], item_sets: [ItemSet { range: Range(92, 111), items: [92], want_response: false }, ItemSet { range: Range(591, 651), items: [591, 597, 632, 636, 641], want_response: false }, ItemSet { range: Range(651, 652), items: [], want_response: false }, ItemSet { range: Range(796, 922), items: [812, 876, 886, 895, 896], want_response: false }, ItemSet { range: Range(39, 92), items: [49, 57], want_response: true }, ItemSet { range: Range(111, 186), items: [111, 153], want_response: true }, ItemSet { range: Range(186, 261), items: [186], want_response: true }, ItemSet { range: Range(318, 357), items: [318, 331], want_response: true }, ItemSet { range: Range(357, 393), items: [357, 377], want_response: true }, ItemSet { range: Range(498, 531), items: [498, 510], want_response: true }, ItemSet { range: Range(531, 591), items: [564], want_response: true }, ItemSet { range: Range(652, 696), items: [652, 656], want_response: true }, ItemSet { range: Range(696, 724), items: [696], want_response: true }, ItemSet { range: Range(724, 762), items: [735], want_response: true }, ItemSet { range: Range(762, 796), items: [], want_response: true }, ItemSet { range: Range(922, 952), items: [922, 941], want_response: true }, ItemSet { range: Range(952, 971), items: [952, 960], want_response: true }, ItemSet { range: Range(971, 991), items: [], want_response: true }], wants: [94, 609, 649, 651, 796, 917], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(39, 92), items: [39, 48, 88], want_response: false }, ItemSet { range: Range(111, 186), items: [125, 130, 167, 174, 183], want_response: false }, ItemSet { range: Range(186, 261), items: [186, 221, 235, 245], want_response: false }, ItemSet { range: Range(318, 357), items: [319], want_response: false }, ItemSet { range: Range(357, 393), items: [357, 362, 366], want_response: false }, ItemSet { range: Range(498, 531), items: [505, 509], want_response: false }, ItemSet { range: Range(531, 591), items: [531, 559, 577], want_response: false }, ItemSet { range: Range(652, 696), items: [658, 665, 668], want_response: false }, ItemSet { range: Range(696, 724), items: [719], want_response: false }, ItemSet { range: Range(724, 762), items: [724, 739, 749, 753], want_response: false }, ItemSet { range: Range(762, 796), items: [762, 784, 794], want_response: false }, ItemSet { range: Range(922, 952), items: [927, 951], want_response: false }, ItemSet { range: Range(952, 971), items: [952], want_response: false }, ItemSet { range: Range(971, 991), items: [971, 977, 990], want_response: false }, ItemSet { range: Range(261, 317), items: [261, 304], want_response: true }, ItemSet { range: Range(317, 318), items: [317], want_response: true }, ItemSet { range: Range(393, 498), items: [494], want_response: true }], wants: [591, 597, 632, 636, 641, 812, 876, 886, 895, 896, 49, 57, 111, 153, 318, 331, 377, 498, 510, 564, 652, 656, 696, 735, 922, 941, 960], provide: [(94, true), (609, true), (649, true), (651, true), (796, true), (917, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(261, 317), items: [263, 278, 315], want_response: false }, ItemSet { range: Range(317, 318), items: [], want_response: false }, ItemSet { range: Range(393, 498), items: [393, 454, 472], want_response: false }], wants: [39, 48, 88, 125, 130, 167, 174, 183, 221, 235, 245, 319, 362, 366, 505, 509, 531, 559, 577, 658, 665, 668, 719, 724, 739, 749, 753, 762, 784, 794, 927, 951, 971, 977, 990, 261, 304, 317, 494], provide: [(591, true), (597, true), (632, true), (636, true), (641, true), (812, true), (876, true), (886, true), (895, true), (896, true), (49, true), (57, true), (111, true), (153, true), (318, true), (331, true), (377, true), (498, true), (510, true), (564, true), (652, true), (656, true), (696, true), (735, true), (922, true), (941, true), (960, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [263, 278, 315, 393, 454, 472], provide: [(39, true), (48, true), (88, true), (125, true), (130, true), (167, true), (174, true), (183, true), (221, true), (235, true), (245, true), (319, true), (362, true), (366, true), (505, true), (509, true), (531, true), (559, true), (577, true), (658, true), (665, true), (668, true), (719, true), (724, true), (739, true), (749, true), (753, true), (762, true), (784, true), (794, true), (927, true), (951, true), (971, true), (977, true), (990, true), (261, true), (304, true), (317, true), (494, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(263, true), (278, true), (315, true), (393, true), (454, true), (472, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {39, 48, 88, 92, 94, 125, 130, 167, 174, 183, 186, 221, 235, 245, 261, 304, 317, 319, 357, 362, 366, 494, 505, 509, 531, 559, 577, 609, 649, 651, 658, 665, 668, 719, 724, 739, 749, 753, 762, 784, 794, 796, 917, 927, 951, 952, 971, 977, 990} + [1, 30, 591, 597, 632, 636, 641, 812, 876, 886, 895, 896, 49, 57, 111, 153, 318, 331, 377, 498, 510, 564, 652, 656, 696, 735, 922, 941, 960, 263, 278, 315, 393, 454, 472] [INFO] [stdout] b all: {1, 30, 49, 57, 92, 111, 153, 186, 263, 278, 315, 318, 331, 357, 377, 393, 454, 472, 498, 510, 564, 591, 597, 632, 636, 641, 652, 656, 696, 735, 812, 876, 886, 895, 896, 922, 941, 952, 960} + [94, 609, 649, 651, 796, 917, 39, 48, 88, 125, 130, 167, 174, 183, 221, 235, 245, 319, 362, 366, 505, 509, 531, 559, 577, 658, 665, 668, 719, 724, 739, 749, 753, 762, 784, 794, 927, 951, 971, 977, 990, 261, 304, 317, 494] [INFO] [stdout] [INFO] [stdout] all vec: [1, 30, 39, 48, 49, 57, 88, 92, 94, 111, 125, 130, 153, 167, 174, 183, 186, 221, 235, 245, 261, 263, 278, 304, 315, 317, 318, 319, 331, 357, 362, 366, 377, 393, 454, 472, 494, 498, 505, 509, 510, 531, 559, 564, 577, 591, 597, 609, 632, 636, 641, 649, 651, 652, 656, 658, 665, 668, 696, 719, 724, 735, 739, 749, 753, 762, 784, 794, 796, 812, 876, 886, 895, 896, 917, 922, 927, 941, 951, 952, 960, 971, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 30, 39, 48, 49, 57, 88, 92, 94, 111, 125, 130, 153, 167, 174, 183, 186, 221, 235, 245, 261, 263, 278, 304, 315, 317, 318, 319, 331, 357, 362, 366, 377, 393, 454, 472, 494, 498, 505, 509, 510, 531, 559, 564, 577, 591, 597, 609, 632, 636, 641, 649, 651, 652, 656, 658, 665, 668, 696, 719, 724, 735, 739, 749, 753, 762, 784, 794, 796, 812, 876, 886, 895, 896, 917, 922, 927, 941, 951, 952, 960, 971, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 30, 39, 48, 49, 57, 88, 92, 94, 111, 125, 130, 153, 167, 174, 183, 186, 221, 235, 245, 261, 263, 278, 304, 315, 317, 318, 319, 331, 357, 362, 366, 377, 393, 454, 472, 494, 498, 505, 509, 510, 531, 559, 564, 577, 591, 597, 609, 632, 636, 641, 649, 651, 652, 656, 658, 665, 668, 696, 719, 724, 735, 739, 749, 753, 762, 784, 794, 796, 812, 876, 886, 895, 896, 917, 922, 927, 941, 951, 952, 960, 971, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 26, 30, 33, 45, 58, 59, 63, 71, 74, 80, 89, 105, 108, 112, 115, 122, 124, 141, 149, 151, 156, 158, 183, 221, 241, 245, 247, 265, 274, 278, 304, 309, 319, 330, 334, 347, 350, 363, 366, 411, 422, 424, 425, 427, 456, 467, 481, 512, 513, 542, 554, 568, 574, 597, 614, 617, 618, 630, 631, 646, 666, 671, 677, 698, 709, 711, 728, 745, 762, 770, 776, 787, 797, 826, 830, 839, 841, 842, 853, 862, 870, 880, 889, 929, 934, 945, 998} [INFO] [stdout] b items: {18, 41, 43, 67, 81, 82, 91, 92, 95, 96, 178, 179, 183, 194, 201, 206, 218, 221, 224, 231, 234, 244, 280, 317, 320, 322, 324, 366, 371, 374, 375, 380, 391, 396, 400, 401, 411, 424, 425, 434, 443, 469, 478, 480, 491, 496, 498, 533, 538, 543, 551, 568, 576, 581, 588, 592, 593, 599, 607, 623, 630, 644, 664, 674, 686, 705, 708, 709, 716, 719, 726, 732, 747, 748, 750, 770, 782, 795, 802, 809, 818, 819, 831, 841, 843, 852, 912, 921, 932, 933, 949, 953, 954, 955, 981} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 999), fp: EncodedCountingMonoid(88, SumMonoid(40012)) }], item_sets: [ItemSet { range: Range(999, 3), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 538), fp: EncodedCountingMonoid(48, SumMonoid(13818)) }, Fingerprint { range: Range(538, 999), fp: EncodedCountingMonoid(47, SumMonoid(34969)) }], item_sets: [ItemSet { range: Range(999, 3), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 241), fp: EncodedCountingMonoid(25, SumMonoid(2476)) }, Fingerprint { range: Range(241, 538), fp: EncodedCountingMonoid(25, SumMonoid(9110)) }, Fingerprint { range: Range(538, 762), fp: EncodedCountingMonoid(19, SumMonoid(12196)) }, Fingerprint { range: Range(762, 999), fp: EncodedCountingMonoid(19, SumMonoid(16230)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 179), fp: EncodedCountingMonoid(11, SumMonoid(884)) }, Fingerprint { range: Range(179, 241), fp: EncodedCountingMonoid(10, SumMonoid(2091)) }, Fingerprint { range: Range(241, 401), fp: EncodedCountingMonoid(14, SumMonoid(4860)) }, Fingerprint { range: Range(401, 538), fp: EncodedCountingMonoid(13, SumMonoid(5983)) }, Fingerprint { range: Range(538, 664), fp: EncodedCountingMonoid(14, SumMonoid(8233)) }, Fingerprint { range: Range(664, 762), fp: EncodedCountingMonoid(13, SumMonoid(9284)) }, Fingerprint { range: Range(762, 852), fp: EncodedCountingMonoid(10, SumMonoid(8110)) }, Fingerprint { range: Range(852, 999), fp: EncodedCountingMonoid(10, SumMonoid(9342)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 105), fp: EncodedCountingMonoid(12, SumMonoid(631)) }, Fingerprint { range: Range(105, 179), fp: EncodedCountingMonoid(11, SumMonoid(1441)) }, Fingerprint { range: Range(241, 319), fp: EncodedCountingMonoid(8, SumMonoid(2163)) }, Fingerprint { range: Range(319, 401), fp: EncodedCountingMonoid(7, SumMonoid(2409)) }, Fingerprint { range: Range(401, 456), fp: EncodedCountingMonoid(5, SumMonoid(2109)) }, Fingerprint { range: Range(456, 538), fp: EncodedCountingMonoid(5, SumMonoid(2429)) }, Fingerprint { range: Range(538, 617), fp: EncodedCountingMonoid(6, SumMonoid(3449)) }, Fingerprint { range: Range(617, 664), fp: EncodedCountingMonoid(5, SumMonoid(3142)) }, Fingerprint { range: Range(664, 709), fp: EncodedCountingMonoid(4, SumMonoid(2712)) }, Fingerprint { range: Range(709, 762), fp: EncodedCountingMonoid(4, SumMonoid(2893)) }, Fingerprint { range: Range(762, 826), fp: EncodedCountingMonoid(5, SumMonoid(3892)) }, Fingerprint { range: Range(826, 852), fp: EncodedCountingMonoid(5, SumMonoid(4178)) }, Fingerprint { range: Range(852, 929), fp: EncodedCountingMonoid(5, SumMonoid(4354)) }, Fingerprint { range: Range(929, 999), fp: EncodedCountingMonoid(4, SumMonoid(3806)) }], item_sets: [ItemSet { range: Range(179, 241), items: [183, 221], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 82), fp: EncodedCountingMonoid(5, SumMonoid(250)) }, Fingerprint { range: Range(82, 105), fp: EncodedCountingMonoid(5, SumMonoid(456)) }, Fingerprint { range: Range(319, 375), fp: EncodedCountingMonoid(6, SumMonoid(2077)) }, Fingerprint { range: Range(375, 401), fp: EncodedCountingMonoid(5, SumMonoid(1942)) }, Fingerprint { range: Range(401, 425), fp: EncodedCountingMonoid(3, SumMonoid(1236)) }, Fingerprint { range: Range(425, 456), fp: EncodedCountingMonoid(3, SumMonoid(1302)) }, Fingerprint { range: Range(456, 496), fp: EncodedCountingMonoid(4, SumMonoid(1918)) }, Fingerprint { range: Range(496, 538), fp: EncodedCountingMonoid(3, SumMonoid(1527)) }, Fingerprint { range: Range(538, 588), fp: EncodedCountingMonoid(6, SumMonoid(3357)) }, Fingerprint { range: Range(588, 617), fp: EncodedCountingMonoid(5, SumMonoid(2979)) }, Fingerprint { range: Range(664, 705), fp: EncodedCountingMonoid(3, SumMonoid(2024)) }, Fingerprint { range: Range(709, 732), fp: EncodedCountingMonoid(4, SumMonoid(2870)) }, Fingerprint { range: Range(732, 762), fp: EncodedCountingMonoid(4, SumMonoid(2977)) }, Fingerprint { range: Range(762, 809), fp: EncodedCountingMonoid(4, SumMonoid(3149)) }, Fingerprint { range: Range(809, 826), fp: EncodedCountingMonoid(3, SumMonoid(2446)) }, Fingerprint { range: Range(929, 954), fp: EncodedCountingMonoid(4, SumMonoid(3767)) }, Fingerprint { range: Range(954, 999), fp: EncodedCountingMonoid(3, SumMonoid(2890)) }], item_sets: [ItemSet { range: Range(179, 241), items: [179, 183, 194, 201, 206, 218, 221, 224, 231, 234], want_response: false }, ItemSet { range: Range(105, 179), items: [178], want_response: true }, ItemSet { range: Range(241, 317), items: [244, 280], want_response: true }, ItemSet { range: Range(317, 319), items: [317], want_response: true }, ItemSet { range: Range(617, 644), items: [623, 630], want_response: true }, ItemSet { range: Range(644, 664), items: [644], want_response: true }, ItemSet { range: Range(705, 709), items: [705, 708], want_response: true }, ItemSet { range: Range(826, 843), items: [831, 841], want_response: true }, ItemSet { range: Range(843, 852), items: [843], want_response: true }, ItemSet { range: Range(852, 921), items: [852, 912], want_response: true }, ItemSet { range: Range(921, 929), items: [921], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 59), fp: EncodedCountingMonoid(6, SumMonoid(195)) }, Fingerprint { range: Range(59, 82), fp: EncodedCountingMonoid(5, SumMonoid(347)) }, Fingerprint { range: Range(319, 350), fp: EncodedCountingMonoid(4, SumMonoid(1330)) }, Fingerprint { range: Range(350, 375), fp: EncodedCountingMonoid(3, SumMonoid(1079)) }, Fingerprint { range: Range(762, 787), fp: EncodedCountingMonoid(3, SumMonoid(2308)) }], item_sets: [ItemSet { range: Range(105, 179), items: [105, 108, 112, 115, 122, 124, 141, 149, 151, 156, 158], want_response: false }, ItemSet { range: Range(241, 317), items: [241, 245, 247, 265, 274, 278, 304, 309], want_response: false }, ItemSet { range: Range(317, 319), items: [], want_response: false }, ItemSet { range: Range(617, 644), items: [617, 618, 630, 631], want_response: false }, ItemSet { range: Range(644, 664), items: [646], want_response: false }, ItemSet { range: Range(705, 709), items: [], want_response: false }, ItemSet { range: Range(826, 843), items: [826, 830, 839, 841, 842], want_response: false }, ItemSet { range: Range(843, 852), items: [], want_response: false }, ItemSet { range: Range(852, 921), items: [853, 862, 870, 880, 889], want_response: false }, ItemSet { range: Range(921, 929), items: [], want_response: false }, ItemSet { range: Range(82, 105), items: [89], want_response: true }, ItemSet { range: Range(375, 401), items: [], want_response: true }, ItemSet { range: Range(401, 424), items: [411, 422], want_response: true }, ItemSet { range: Range(424, 425), items: [424], want_response: true }, ItemSet { range: Range(425, 456), items: [425, 427], want_response: true }, ItemSet { range: Range(456, 481), items: [456, 467], want_response: true }, ItemSet { range: Range(481, 496), items: [481], want_response: true }, ItemSet { range: Range(496, 538), items: [512, 513], want_response: true }, ItemSet { range: Range(538, 568), items: [542, 554], want_response: true }, ItemSet { range: Range(568, 588), items: [568, 574], want_response: true }, ItemSet { range: Range(588, 617), items: [597, 614], want_response: true }, ItemSet { range: Range(664, 677), items: [666, 671], want_response: true }, ItemSet { range: Range(677, 705), items: [677, 698], want_response: true }, ItemSet { range: Range(709, 728), items: [709, 711], want_response: true }, ItemSet { range: Range(728, 732), items: [728], want_response: true }, ItemSet { range: Range(732, 762), items: [745], want_response: true }, ItemSet { range: Range(787, 809), items: [787, 797], want_response: true }, ItemSet { range: Range(809, 826), items: [], want_response: true }, ItemSet { range: Range(929, 945), items: [929, 934], want_response: true }, ItemSet { range: Range(945, 954), items: [945], want_response: true }, ItemSet { range: Range(954, 999), items: [998], want_response: true }], wants: [179, 194, 201, 206, 218, 224, 231, 234, 178, 244, 280, 317, 623, 644, 705, 708, 831, 843, 852, 912, 921], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(82, 105), items: [82, 91, 92, 95, 96], want_response: false }, ItemSet { range: Range(375, 401), items: [375, 380, 391, 396, 400], want_response: false }, ItemSet { range: Range(401, 424), items: [401, 411], want_response: false }, ItemSet { range: Range(424, 425), items: [424], want_response: false }, ItemSet { range: Range(425, 456), items: [425, 434, 443], want_response: false }, ItemSet { range: Range(456, 481), items: [469, 478, 480], want_response: false }, ItemSet { range: Range(481, 496), items: [491], want_response: false }, ItemSet { range: Range(496, 538), items: [496, 498, 533], want_response: false }, ItemSet { range: Range(538, 568), items: [538, 543, 551], want_response: false }, ItemSet { range: Range(568, 588), items: [568, 576, 581], want_response: false }, ItemSet { range: Range(588, 617), items: [588, 592, 593, 599, 607], want_response: false }, ItemSet { range: Range(664, 677), items: [664, 674], want_response: false }, ItemSet { range: Range(677, 705), items: [686], want_response: false }, ItemSet { range: Range(709, 728), items: [709, 716, 719, 726], want_response: false }, ItemSet { range: Range(728, 732), items: [], want_response: false }, ItemSet { range: Range(732, 762), items: [732, 747, 748, 750], want_response: false }, ItemSet { range: Range(787, 809), items: [795, 802], want_response: false }, ItemSet { range: Range(809, 826), items: [809, 818, 819], want_response: false }, ItemSet { range: Range(929, 945), items: [932, 933], want_response: false }, ItemSet { range: Range(945, 954), items: [949, 953], want_response: false }, ItemSet { range: Range(954, 999), items: [954, 955, 981], want_response: false }, ItemSet { range: Range(3, 43), items: [18, 41], want_response: true }, ItemSet { range: Range(43, 59), items: [43], want_response: true }, ItemSet { range: Range(59, 82), items: [67, 81], want_response: true }, ItemSet { range: Range(319, 324), items: [320, 322], want_response: true }, ItemSet { range: Range(324, 350), items: [324], want_response: true }, ItemSet { range: Range(350, 374), items: [366, 371], want_response: true }, ItemSet { range: Range(374, 375), items: [374], want_response: true }, ItemSet { range: Range(762, 787), items: [770, 782], want_response: true }], wants: [105, 108, 112, 115, 122, 124, 141, 149, 151, 156, 158, 241, 245, 247, 265, 274, 278, 304, 309, 617, 618, 631, 646, 826, 830, 839, 842, 853, 862, 870, 880, 889, 89, 422, 427, 456, 467, 481, 512, 513, 542, 554, 574, 597, 614, 666, 671, 677, 698, 711, 728, 745, 787, 797, 929, 934, 945, 998], provide: [(179, true), (194, true), (201, true), (206, true), (218, true), (224, true), (231, true), (234, true), (178, true), (244, true), (280, true), (317, true), (623, true), (644, true), (705, true), (708, true), (831, true), (843, true), (852, true), (912, true), (921, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 43), items: [3, 26, 30, 33], want_response: false }, ItemSet { range: Range(43, 59), items: [45, 58], want_response: false }, ItemSet { range: Range(59, 82), items: [59, 63, 71, 74, 80], want_response: false }, ItemSet { range: Range(319, 324), items: [319], want_response: false }, ItemSet { range: Range(324, 350), items: [330, 334, 347], want_response: false }, ItemSet { range: Range(350, 374), items: [350, 363, 366], want_response: false }, ItemSet { range: Range(374, 375), items: [], want_response: false }, ItemSet { range: Range(762, 787), items: [762, 770, 776], want_response: false }], wants: [82, 91, 92, 95, 96, 375, 380, 391, 396, 400, 401, 434, 443, 469, 478, 480, 491, 496, 498, 533, 538, 543, 551, 576, 581, 588, 592, 593, 599, 607, 664, 674, 686, 716, 719, 726, 732, 747, 748, 750, 795, 802, 809, 818, 819, 932, 933, 949, 953, 954, 955, 981, 18, 41, 43, 67, 81, 320, 322, 324, 371, 374, 782], provide: [(105, true), (108, true), (112, true), (115, true), (122, true), (124, true), (141, true), (149, true), (151, true), (156, true), (158, true), (241, true), (245, true), (247, true), (265, true), (274, true), (278, true), (304, true), (309, true), (617, true), (618, true), (631, true), (646, true), (826, true), (830, true), (839, true), (842, true), (853, true), (862, true), (870, true), (880, true), (889, true), (89, true), (422, true), (427, true), (456, true), (467, true), (481, true), (512, true), (513, true), (542, true), (554, true), (574, true), (597, true), (614, true), (666, true), (671, true), (677, true), (698, true), (711, true), (728, true), (745, true), (787, true), (797, true), (929, true), (934, true), (945, true), (998, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [3, 26, 30, 33, 45, 58, 59, 63, 71, 74, 80, 319, 330, 334, 347, 350, 363, 762, 776], provide: [(82, true), (91, true), (92, true), (95, true), (96, true), (375, true), (380, true), (391, true), (396, true), (400, true), (401, true), (434, true), (443, true), (469, true), (478, true), (480, true), (491, true), (496, true), (498, true), (533, true), (538, true), (543, true), (551, true), (576, true), (581, true), (588, true), (592, true), (593, true), (599, true), (607, true), (664, true), (674, true), (686, true), (716, true), (719, true), (726, true), (732, true), (747, true), (748, true), (750, true), (795, true), (802, true), (809, true), (818, true), (819, true), (932, true), (933, true), (949, true), (953, true), (954, true), (955, true), (981, true), (18, true), (41, true), (43, true), (67, true), (81, true), (320, true), (322, true), (324, true), (371, true), (374, true), (782, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(3, true), (26, true), (30, true), (33, true), (45, true), (58, true), (59, true), (63, true), (71, true), (74, true), (80, true), (319, true), (330, true), (334, true), (347, true), (350, true), (363, true), (762, true), (776, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 26, 30, 33, 45, 58, 59, 63, 71, 74, 80, 89, 105, 108, 112, 115, 122, 124, 141, 149, 151, 156, 158, 183, 221, 241, 245, 247, 265, 274, 278, 304, 309, 319, 330, 334, 347, 350, 363, 366, 411, 422, 424, 425, 427, 456, 467, 481, 512, 513, 542, 554, 568, 574, 597, 614, 617, 618, 630, 631, 646, 666, 671, 677, 698, 709, 711, 728, 745, 762, 770, 776, 787, 797, 826, 830, 839, 841, 842, 853, 862, 870, 880, 889, 929, 934, 945, 998} + [179, 194, 201, 206, 218, 224, 231, 234, 178, 244, 280, 317, 623, 644, 705, 708, 831, 843, 852, 912, 921, 82, 91, 92, 95, 96, 375, 380, 391, 396, 400, 401, 434, 443, 469, 478, 480, 491, 496, 498, 533, 538, 543, 551, 576, 581, 588, 592, 593, 599, 607, 664, 674, 686, 716, 719, 726, 732, 747, 748, 750, 795, 802, 809, 818, 819, 932, 933, 949, 953, 954, 955, 981, 18, 41, 43, 67, 81, 320, 322, 324, 371, 374, 782] [INFO] [stdout] b all: {18, 41, 43, 67, 81, 82, 91, 92, 95, 96, 178, 179, 183, 194, 201, 206, 218, 221, 224, 231, 234, 244, 280, 317, 320, 322, 324, 366, 371, 374, 375, 380, 391, 396, 400, 401, 411, 424, 425, 434, 443, 469, 478, 480, 491, 496, 498, 533, 538, 543, 551, 568, 576, 581, 588, 592, 593, 599, 607, 623, 630, 644, 664, 674, 686, 705, 708, 709, 716, 719, 726, 732, 747, 748, 750, 770, 782, 795, 802, 809, 818, 819, 831, 841, 843, 852, 912, 921, 932, 933, 949, 953, 954, 955, 981} + [105, 108, 112, 115, 122, 124, 141, 149, 151, 156, 158, 241, 245, 247, 265, 274, 278, 304, 309, 617, 618, 631, 646, 826, 830, 839, 842, 853, 862, 870, 880, 889, 89, 422, 427, 456, 467, 481, 512, 513, 542, 554, 574, 597, 614, 666, 671, 677, 698, 711, 728, 745, 787, 797, 929, 934, 945, 998, 3, 26, 30, 33, 45, 58, 59, 63, 71, 74, 80, 319, 330, 334, 347, 350, 363, 762, 776] [INFO] [stdout] [INFO] [stdout] all vec: [3, 18, 26, 30, 33, 41, 43, 45, 58, 59, 63, 67, 71, 74, 80, 81, 82, 89, 91, 92, 95, 96, 105, 108, 112, 115, 122, 124, 141, 149, 151, 156, 158, 178, 179, 183, 194, 201, 206, 218, 221, 224, 231, 234, 241, 244, 245, 247, 265, 274, 278, 280, 304, 309, 317, 319, 320, 322, 324, 330, 334, 347, 350, 363, 366, 371, 374, 375, 380, 391, 396, 400, 401, 411, 422, 424, 425, 427, 434, 443, 456, 467, 469, 478, 480, 481, 491, 496, 498, 512, 513, 533, 538, 542, 543, 551, 554, 568, 574, 576, 581, 588, 592, 593, 597, 599, 607, 614, 617, 618, 623, 630, 631, 644, 646, 664, 666, 671, 674, 677, 686, 698, 705, 708, 709, 711, 716, 719, 726, 728, 732, 745, 747, 748, 750, 762, 770, 776, 782, 787, 795, 797, 802, 809, 818, 819, 826, 830, 831, 839, 841, 842, 843, 852, 853, 862, 870, 880, 889, 912, 921, 929, 932, 933, 934, 945, 949, 953, 954, 955, 981, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 18, 26, 30, 33, 41, 43, 45, 58, 59, 63, 67, 71, 74, 80, 81, 82, 89, 91, 92, 95, 96, 105, 108, 112, 115, 122, 124, 141, 149, 151, 156, 158, 178, 179, 183, 194, 201, 206, 218, 221, 224, 231, 234, 241, 244, 245, 247, 265, 274, 278, 280, 304, 309, 317, 319, 320, 322, 324, 330, 334, 347, 350, 363, 366, 371, 374, 375, 380, 391, 396, 400, 401, 411, 422, 424, 425, 427, 434, 443, 456, 467, 469, 478, 480, 481, 491, 496, 498, 512, 513, 533, 538, 542, 543, 551, 554, 568, 574, 576, 581, 588, 592, 593, 597, 599, 607, 614, 617, 618, 623, 630, 631, 644, 646, 664, 666, 671, 674, 677, 686, 698, 705, 708, 709, 711, 716, 719, 726, 728, 732, 745, 747, 748, 750, 762, 770, 776, 782, 787, 795, 797, 802, 809, 818, 819, 826, 830, 831, 839, 841, 842, 843, 852, 853, 862, 870, 880, 889, 912, 921, 929, 932, 933, 934, 945, 949, 953, 954, 955, 981, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 18, 26, 30, 33, 41, 43, 45, 58, 59, 63, 67, 71, 74, 80, 81, 82, 89, 91, 92, 95, 96, 105, 108, 112, 115, 122, 124, 141, 149, 151, 156, 158, 178, 179, 183, 194, 201, 206, 218, 221, 224, 231, 234, 241, 244, 245, 247, 265, 274, 278, 280, 304, 309, 317, 319, 320, 322, 324, 330, 334, 347, 350, 363, 366, 371, 374, 375, 380, 391, 396, 400, 401, 411, 422, 424, 425, 427, 434, 443, 456, 467, 469, 478, 480, 481, 491, 496, 498, 512, 513, 533, 538, 542, 543, 551, 554, 568, 574, 576, 581, 588, 592, 593, 597, 599, 607, 614, 617, 618, 623, 630, 631, 644, 646, 664, 666, 671, 674, 677, 686, 698, 705, 708, 709, 711, 716, 719, 726, 728, 732, 745, 747, 748, 750, 762, 770, 776, 782, 787, 795, 797, 802, 809, 818, 819, 826, 830, 831, 839, 841, 842, 843, 852, 853, 862, 870, 880, 889, 912, 921, 929, 932, 933, 934, 945, 949, 953, 954, 955, 981, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {69, 76, 108, 143, 204, 205, 238, 247, 258, 295, 343, 366, 457, 468, 484, 521, 522, 538, 545, 588, 589, 605, 618, 631, 717, 719, 743, 763, 769, 787, 833, 880, 908, 924, 927, 931, 943, 968, 985} [INFO] [stdout] b items: {16, 29, 36, 40, 47, 49, 54, 91, 105, 120, 139, 206, 216, 218, 223, 224, 231, 250, 268, 274, 276, 280, 289, 310, 322, 330, 338, 344, 355, 368, 414, 430, 442, 456, 502, 513, 519, 523, 546, 548, 562, 574, 576, 585, 586, 592, 620, 648, 655, 658, 665, 679, 707, 713, 720, 741, 748, 756, 763, 770, 772, 798, 834, 839, 850, 873, 878, 899, 915, 925, 932, 936, 937, 961, 981, 986, 993, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(69, 986), fp: EncodedCountingMonoid(39, SumMonoid(21915)) }], item_sets: [ItemSet { range: Range(986, 69), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(69, 574), fp: EncodedCountingMonoid(34, SumMonoid(11232)) }, Fingerprint { range: Range(574, 986), fp: EncodedCountingMonoid(34, SumMonoid(26086)) }], item_sets: [ItemSet { range: Range(986, 69), items: [986, 993, 999, 16, 29, 36, 40, 47, 49, 54], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(69, 343), fp: EncodedCountingMonoid(10, SumMonoid(1843)) }, Fingerprint { range: Range(343, 574), fp: EncodedCountingMonoid(9, SumMonoid(4244)) }, Fingerprint { range: Range(574, 787), fp: EncodedCountingMonoid(10, SumMonoid(6742)) }, Fingerprint { range: Range(787, 986), fp: EncodedCountingMonoid(10, SumMonoid(9086)) }], item_sets: [], wants: [986, 993, 999, 16, 29, 36, 40, 47, 49, 54], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(69, 250), fp: EncodedCountingMonoid(10, SumMonoid(1773)) }, Fingerprint { range: Range(250, 343), fp: EncodedCountingMonoid(10, SumMonoid(2937)) }, Fingerprint { range: Range(343, 502), fp: EncodedCountingMonoid(7, SumMonoid(2809)) }, Fingerprint { range: Range(502, 574), fp: EncodedCountingMonoid(7, SumMonoid(3713)) }, Fingerprint { range: Range(574, 679), fp: EncodedCountingMonoid(10, SumMonoid(6159)) }, Fingerprint { range: Range(679, 787), fp: EncodedCountingMonoid(10, SumMonoid(7369)) }, Fingerprint { range: Range(787, 915), fp: EncodedCountingMonoid(7, SumMonoid(5971)) }, Fingerprint { range: Range(915, 986), fp: EncodedCountingMonoid(7, SumMonoid(6587)) }], item_sets: [], wants: [], provide: [(986, true), (993, true), (999, true), (16, true), (29, true), (36, true), (40, true), (47, true), (49, true), (54, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(69, 204), fp: EncodedCountingMonoid(4, SumMonoid(396)) }, Fingerprint { range: Range(204, 250), fp: EncodedCountingMonoid(4, SumMonoid(894)) }, Fingerprint { range: Range(343, 468), fp: EncodedCountingMonoid(3, SumMonoid(1166)) }, Fingerprint { range: Range(574, 618), fp: EncodedCountingMonoid(3, SumMonoid(1782)) }, Fingerprint { range: Range(679, 763), fp: EncodedCountingMonoid(3, SumMonoid(2179)) }, Fingerprint { range: Range(915, 943), fp: EncodedCountingMonoid(3, SumMonoid(2782)) }, Fingerprint { range: Range(943, 986), fp: EncodedCountingMonoid(3, SumMonoid(2896)) }], item_sets: [ItemSet { range: Range(250, 343), items: [258, 295], want_response: true }, ItemSet { range: Range(468, 502), items: [468, 484], want_response: true }, ItemSet { range: Range(502, 538), items: [521, 522], want_response: true }, ItemSet { range: Range(538, 574), items: [538, 545], want_response: true }, ItemSet { range: Range(618, 679), items: [618, 631], want_response: true }, ItemSet { range: Range(763, 787), items: [763, 769], want_response: true }, ItemSet { range: Range(787, 880), items: [787, 833], want_response: true }, ItemSet { range: Range(880, 915), items: [880, 908], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(204, 223), fp: EncodedCountingMonoid(3, SumMonoid(640)) }, Fingerprint { range: Range(223, 250), fp: EncodedCountingMonoid(3, SumMonoid(678)) }, Fingerprint { range: Range(343, 430), fp: EncodedCountingMonoid(4, SumMonoid(1481)) }, Fingerprint { range: Range(430, 468), fp: EncodedCountingMonoid(3, SumMonoid(1328)) }, Fingerprint { range: Range(574, 586), fp: EncodedCountingMonoid(3, SumMonoid(1735)) }, Fingerprint { range: Range(679, 741), fp: EncodedCountingMonoid(4, SumMonoid(2819)) }, Fingerprint { range: Range(741, 763), fp: EncodedCountingMonoid(3, SumMonoid(2245)) }, Fingerprint { range: Range(915, 936), fp: EncodedCountingMonoid(3, SumMonoid(2772)) }], item_sets: [ItemSet { range: Range(250, 343), items: [250, 268, 274, 276, 280, 289, 310, 322, 330, 338], want_response: false }, ItemSet { range: Range(468, 502), items: [], want_response: false }, ItemSet { range: Range(502, 538), items: [502, 513, 519, 523], want_response: false }, ItemSet { range: Range(538, 574), items: [546, 548, 562], want_response: false }, ItemSet { range: Range(618, 679), items: [620, 648, 655, 658, 665], want_response: false }, ItemSet { range: Range(763, 787), items: [763, 770, 772], want_response: false }, ItemSet { range: Range(787, 880), items: [798, 834, 839, 850, 873, 878], want_response: false }, ItemSet { range: Range(880, 915), items: [899], want_response: false }, ItemSet { range: Range(69, 120), items: [91, 105], want_response: true }, ItemSet { range: Range(120, 204), items: [120, 139], want_response: true }, ItemSet { range: Range(586, 618), items: [586, 592], want_response: true }, ItemSet { range: Range(936, 943), items: [936, 937], want_response: true }, ItemSet { range: Range(943, 986), items: [961, 981], want_response: true }], wants: [258, 295, 468, 484, 521, 522, 538, 545, 618, 631, 769, 787, 833, 880, 908], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(69, 120), items: [69, 76, 108], want_response: false }, ItemSet { range: Range(120, 204), items: [143], want_response: false }, ItemSet { range: Range(586, 618), items: [588, 589, 605], want_response: false }, ItemSet { range: Range(936, 943), items: [], want_response: false }, ItemSet { range: Range(943, 986), items: [943, 968, 985], want_response: false }, ItemSet { range: Range(204, 223), items: [204, 205], want_response: true }, ItemSet { range: Range(223, 250), items: [238, 247], want_response: true }, ItemSet { range: Range(343, 430), items: [343, 366], want_response: true }, ItemSet { range: Range(430, 468), items: [457], want_response: true }, ItemSet { range: Range(574, 586), items: [], want_response: true }, ItemSet { range: Range(679, 741), items: [717, 719], want_response: true }, ItemSet { range: Range(741, 763), items: [743], want_response: true }, ItemSet { range: Range(915, 931), items: [924, 927], want_response: true }, ItemSet { range: Range(931, 936), items: [931], want_response: true }], wants: [250, 268, 274, 276, 280, 289, 310, 322, 330, 338, 502, 513, 519, 523, 546, 548, 562, 620, 648, 655, 658, 665, 770, 772, 798, 834, 839, 850, 873, 878, 899, 91, 105, 120, 139, 586, 592, 936, 937, 961, 981], provide: [(258, true), (295, true), (468, true), (484, true), (521, true), (522, true), (538, true), (545, true), (618, true), (631, true), (769, true), (787, true), (833, true), (880, true), (908, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(204, 223), items: [206, 216, 218], want_response: false }, ItemSet { range: Range(223, 250), items: [223, 224, 231], want_response: false }, ItemSet { range: Range(343, 430), items: [344, 355, 368, 414], want_response: false }, ItemSet { range: Range(430, 468), items: [430, 442, 456], want_response: false }, ItemSet { range: Range(574, 586), items: [574, 576, 585], want_response: false }, ItemSet { range: Range(679, 741), items: [679, 707, 713, 720], want_response: false }, ItemSet { range: Range(741, 763), items: [741, 748, 756], want_response: false }, ItemSet { range: Range(915, 931), items: [915, 925], want_response: false }, ItemSet { range: Range(931, 936), items: [932], want_response: false }], wants: [69, 76, 108, 143, 588, 589, 605, 943, 968, 985, 204, 205, 238, 247, 343, 366, 457, 717, 719, 743, 924, 927, 931], provide: [(250, true), (268, true), (274, true), (276, true), (280, true), (289, true), (310, true), (322, true), (330, true), (338, true), (502, true), (513, true), (519, true), (523, true), (546, true), (548, true), (562, true), (620, true), (648, true), (655, true), (658, true), (665, true), (770, true), (772, true), (798, true), (834, true), (839, true), (850, true), (873, true), (878, true), (899, true), (91, true), (105, true), (120, true), (139, true), (586, true), (592, true), (936, true), (937, true), (961, true), (981, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [206, 216, 218, 223, 224, 231, 344, 355, 368, 414, 430, 442, 456, 574, 576, 585, 679, 707, 713, 720, 741, 748, 756, 915, 925, 932], provide: [(69, true), (76, true), (108, true), (143, true), (588, true), (589, true), (605, true), (943, true), (968, true), (985, true), (204, true), (205, true), (238, true), (247, true), (343, true), (366, true), (457, true), (717, true), (719, true), (743, true), (924, true), (927, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(206, true), (216, true), (218, true), (223, true), (224, true), (231, true), (344, true), (355, true), (368, true), (414, true), (430, true), (442, true), (456, true), (574, true), (576, true), (585, true), (679, true), (707, true), (713, true), (720, true), (741, true), (748, true), (756, true), (915, true), (925, true), (932, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {69, 76, 108, 143, 204, 205, 238, 247, 258, 295, 343, 366, 457, 468, 484, 521, 522, 538, 545, 588, 589, 605, 618, 631, 717, 719, 743, 763, 769, 787, 833, 880, 908, 924, 927, 931, 943, 968, 985} + [986, 993, 999, 16, 29, 36, 40, 47, 49, 54, 250, 268, 274, 276, 280, 289, 310, 322, 330, 338, 502, 513, 519, 523, 546, 548, 562, 620, 648, 655, 658, 665, 770, 772, 798, 834, 839, 850, 873, 878, 899, 91, 105, 120, 139, 586, 592, 936, 937, 961, 981, 206, 216, 218, 223, 224, 231, 344, 355, 368, 414, 430, 442, 456, 574, 576, 585, 679, 707, 713, 720, 741, 748, 756, 915, 925, 932] [INFO] [stdout] b all: {16, 29, 36, 40, 47, 49, 54, 91, 105, 120, 139, 206, 216, 218, 223, 224, 231, 250, 268, 274, 276, 280, 289, 310, 322, 330, 338, 344, 355, 368, 414, 430, 442, 456, 502, 513, 519, 523, 546, 548, 562, 574, 576, 585, 586, 592, 620, 648, 655, 658, 665, 679, 707, 713, 720, 741, 748, 756, 763, 770, 772, 798, 834, 839, 850, 873, 878, 899, 915, 925, 932, 936, 937, 961, 981, 986, 993, 999} + [258, 295, 468, 484, 521, 522, 538, 545, 618, 631, 769, 787, 833, 880, 908, 69, 76, 108, 143, 588, 589, 605, 943, 968, 985, 204, 205, 238, 247, 343, 366, 457, 717, 719, 743, 924, 927, 931] [INFO] [stdout] [INFO] [stdout] all vec: [16, 29, 36, 40, 47, 49, 54, 69, 76, 91, 105, 108, 120, 139, 143, 204, 205, 206, 216, 218, 223, 224, 231, 238, 247, 250, 258, 268, 274, 276, 280, 289, 295, 310, 322, 330, 338, 343, 344, 355, 366, 368, 414, 430, 442, 456, 457, 468, 484, 502, 513, 519, 521, 522, 523, 538, 545, 546, 548, 562, 574, 576, 585, 586, 588, 589, 592, 605, 618, 620, 631, 648, 655, 658, 665, 679, 707, 713, 717, 719, 720, 741, 743, 748, 756, 763, 769, 770, 772, 787, 798, 833, 834, 839, 850, 873, 878, 880, 899, 908, 915, 924, 925, 927, 931, 932, 936, 937, 943, 961, 968, 981, 985, 986, 993, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [16, 29, 36, 40, 47, 49, 54, 69, 76, 91, 105, 108, 120, 139, 143, 204, 205, 206, 216, 218, 223, 224, 231, 238, 247, 250, 258, 268, 274, 276, 280, 289, 295, 310, 322, 330, 338, 343, 344, 355, 366, 368, 414, 430, 442, 456, 457, 468, 484, 502, 513, 519, 521, 522, 523, 538, 545, 546, 548, 562, 574, 576, 585, 586, 588, 589, 592, 605, 618, 620, 631, 648, 655, 658, 665, 679, 707, 713, 717, 719, 720, 741, 743, 748, 756, 763, 769, 770, 772, 787, 798, 833, 834, 839, 850, 873, 878, 880, 899, 908, 915, 924, 925, 927, 931, 932, 936, 937, 943, 961, 968, 981, 985, 986, 993, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [16, 29, 36, 40, 47, 49, 54, 69, 76, 91, 105, 108, 120, 139, 143, 204, 205, 206, 216, 218, 223, 224, 231, 238, 247, 250, 258, 268, 274, 276, 280, 289, 295, 310, 322, 330, 338, 343, 344, 355, 366, 368, 414, 430, 442, 456, 457, 468, 484, 502, 513, 519, 521, 522, 523, 538, 545, 546, 548, 562, 574, 576, 585, 586, 588, 589, 592, 605, 618, 620, 631, 648, 655, 658, 665, 679, 707, 713, 717, 719, 720, 741, 743, 748, 756, 763, 769, 770, 772, 787, 798, 833, 834, 839, 850, 873, 878, 880, 899, 908, 915, 924, 925, 927, 931, 932, 936, 937, 943, 961, 968, 981, 985, 986, 993, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {111, 131, 413, 541, 557, 644, 662, 680, 696, 701, 754, 758, 765, 769, 779, 832, 923} [INFO] [stdout] b items: {16, 32, 33, 48, 59, 72, 172, 202, 253, 256, 312, 314, 362, 380, 390, 410, 465, 476, 477, 504, 522, 553, 572, 649, 683, 731, 740, 744, 746, 859, 869, 879, 901, 913, 951, 974, 994} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(111, 924), fp: EncodedCountingMonoid(17, SumMonoid(10716)) }], item_sets: [ItemSet { range: Range(924, 111), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(111, 522), fp: EncodedCountingMonoid(14, SumMonoid(4973)) }, Fingerprint { range: Range(522, 924), fp: EncodedCountingMonoid(14, SumMonoid(10361)) }], item_sets: [ItemSet { range: Range(924, 111), items: [951, 974, 994, 16, 32, 33, 48, 59, 72], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(522, 754), fp: EncodedCountingMonoid(7, SumMonoid(4481)) }, Fingerprint { range: Range(754, 924), fp: EncodedCountingMonoid(7, SumMonoid(5580)) }], item_sets: [ItemSet { range: Range(111, 413), items: [111, 131], want_response: true }, ItemSet { range: Range(413, 522), items: [413], want_response: true }], wants: [951, 974, 994, 16, 32, 33, 48, 59, 72], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(522, 731), fp: EncodedCountingMonoid(5, SumMonoid(2979)) }, Fingerprint { range: Range(731, 754), fp: EncodedCountingMonoid(4, SumMonoid(2961)) }, Fingerprint { range: Range(754, 901), fp: EncodedCountingMonoid(3, SumMonoid(2607)) }], item_sets: [ItemSet { range: Range(111, 413), items: [172, 202, 253, 256, 312, 314, 362, 380, 390, 410], want_response: false }, ItemSet { range: Range(413, 522), items: [465, 476, 477, 504], want_response: false }, ItemSet { range: Range(901, 924), items: [901, 913], want_response: true }], wants: [111, 131, 413], provide: [(951, true), (974, true), (994, true), (16, true), (32, true), (33, true), (48, true), (59, true), (72, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(522, 680), fp: EncodedCountingMonoid(4, SumMonoid(2404)) }, Fingerprint { range: Range(680, 731), fp: EncodedCountingMonoid(3, SumMonoid(2077)) }, Fingerprint { range: Range(754, 769), fp: EncodedCountingMonoid(3, SumMonoid(2277)) }, Fingerprint { range: Range(769, 901), fp: EncodedCountingMonoid(3, SumMonoid(2380)) }], item_sets: [ItemSet { range: Range(901, 924), items: [923], want_response: false }, ItemSet { range: Range(731, 754), items: [], want_response: true }], wants: [172, 202, 253, 256, 312, 314, 362, 380, 390, 410, 465, 476, 477, 504, 901, 913], provide: [(111, true), (131, true), (413, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(731, 754), items: [731, 740, 744, 746], want_response: false }, ItemSet { range: Range(522, 572), items: [522, 553], want_response: true }, ItemSet { range: Range(572, 680), items: [572, 649], want_response: true }, ItemSet { range: Range(680, 731), items: [683], want_response: true }, ItemSet { range: Range(754, 769), items: [], want_response: true }, ItemSet { range: Range(769, 879), items: [859, 869], want_response: true }, ItemSet { range: Range(879, 901), items: [879], want_response: true }], wants: [923], provide: [(172, true), (202, true), (253, true), (256, true), (312, true), (314, true), (362, true), (380, true), (390, true), (410, true), (465, true), (476, true), (477, true), (504, true), (901, true), (913, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(522, 572), items: [541, 557], want_response: false }, ItemSet { range: Range(572, 680), items: [644, 662], want_response: false }, ItemSet { range: Range(680, 731), items: [680, 696, 701], want_response: false }, ItemSet { range: Range(754, 769), items: [754, 758, 765], want_response: false }, ItemSet { range: Range(769, 879), items: [769, 779, 832], want_response: false }, ItemSet { range: Range(879, 901), items: [], want_response: false }], wants: [731, 740, 744, 746, 522, 553, 572, 649, 683, 859, 869, 879], provide: [(923, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [541, 557, 644, 662, 680, 696, 701, 754, 758, 765, 769, 779, 832], provide: [(731, true), (740, true), (744, true), (746, true), (522, true), (553, true), (572, true), (649, true), (683, true), (859, true), (869, true), (879, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (557, true), (644, true), (662, true), (680, true), (696, true), (701, true), (754, true), (758, true), (765, true), (769, true), (779, true), (832, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {111, 131, 413, 541, 557, 644, 662, 680, 696, 701, 754, 758, 765, 769, 779, 832, 923} + [951, 974, 994, 16, 32, 33, 48, 59, 72, 172, 202, 253, 256, 312, 314, 362, 380, 390, 410, 465, 476, 477, 504, 901, 913, 731, 740, 744, 746, 522, 553, 572, 649, 683, 859, 869, 879] [INFO] [stdout] b all: {16, 32, 33, 48, 59, 72, 172, 202, 253, 256, 312, 314, 362, 380, 390, 410, 465, 476, 477, 504, 522, 553, 572, 649, 683, 731, 740, 744, 746, 859, 869, 879, 901, 913, 951, 974, 994} + [111, 131, 413, 923, 541, 557, 644, 662, 680, 696, 701, 754, 758, 765, 769, 779, 832] [INFO] [stdout] [INFO] [stdout] all vec: [16, 32, 33, 48, 59, 72, 111, 131, 172, 202, 253, 256, 312, 314, 362, 380, 390, 410, 413, 465, 476, 477, 504, 522, 541, 553, 557, 572, 644, 649, 662, 680, 683, 696, 701, 731, 740, 744, 746, 754, 758, 765, 769, 779, 832, 859, 869, 879, 901, 913, 923, 951, 974, 994] [INFO] [stdout] [INFO] [stdout] a all vec: [16, 32, 33, 48, 59, 72, 111, 131, 172, 202, 253, 256, 312, 314, 362, 380, 390, 410, 413, 465, 476, 477, 504, 522, 541, 553, 557, 572, 644, 649, 662, 680, 683, 696, 701, 731, 740, 744, 746, 754, 758, 765, 769, 779, 832, 859, 869, 879, 901, 913, 923, 951, 974, 994], true true [INFO] [stdout] [INFO] [stdout] b all vec: [16, 32, 33, 48, 59, 72, 111, 131, 172, 202, 253, 256, 312, 314, 362, 380, 390, 410, 413, 465, 476, 477, 504, 522, 541, 553, 557, 572, 644, 649, 662, 680, 683, 696, 701, 731, 740, 744, 746, 754, 758, 765, 769, 779, 832, 859, 869, 879, 901, 913, 923, 951, 974, 994], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {5, 13, 19, 38, 39, 43, 54, 58, 59, 67, 75, 78, 83, 86, 87, 91, 111, 120, 157, 159, 172, 182, 200, 233, 236, 276, 280, 296, 301, 307, 313, 332, 351, 354, 356, 359, 360, 437, 450, 466, 481, 486, 508, 547, 548, 557, 561, 564, 568, 584, 589, 599, 603, 618, 636, 638, 640, 642, 646, 665, 708, 709, 736, 740, 776, 780, 804, 827, 857, 869, 877, 886, 900, 905, 919, 922, 924, 926, 941, 995} [INFO] [stdout] b items: {43, 50, 55, 88, 102, 159, 178, 201, 228, 258, 259, 269, 290, 305, 348, 349, 385, 427, 461, 476, 575, 606, 610, 630, 702, 724, 730, 752, 758, 760, 764, 796, 800, 801, 820, 845, 851, 864, 869, 906, 925, 943, 957, 978, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(5, 996), fp: EncodedCountingMonoid(80, SumMonoid(36384)) }], item_sets: [ItemSet { range: Range(996, 5), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 610), fp: EncodedCountingMonoid(22, SumMonoid(6112)) }, Fingerprint { range: Range(610, 996), fp: EncodedCountingMonoid(22, SumMonoid(17785)) }], item_sets: [ItemSet { range: Range(996, 5), items: [999], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(5, 296), fp: EncodedCountingMonoid(27, SumMonoid(3021)) }, Fingerprint { range: Range(296, 610), fp: EncodedCountingMonoid(26, SumMonoid(11877)) }, Fingerprint { range: Range(610, 827), fp: EncodedCountingMonoid(14, SumMonoid(9738)) }, Fingerprint { range: Range(827, 996), fp: EncodedCountingMonoid(13, SumMonoid(11748)) }], item_sets: [], wants: [999], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 201), fp: EncodedCountingMonoid(7, SumMonoid(675)) }, Fingerprint { range: Range(201, 296), fp: EncodedCountingMonoid(6, SumMonoid(1505)) }, Fingerprint { range: Range(296, 461), fp: EncodedCountingMonoid(5, SumMonoid(1814)) }, Fingerprint { range: Range(461, 610), fp: EncodedCountingMonoid(4, SumMonoid(2118)) }, Fingerprint { range: Range(610, 760), fp: EncodedCountingMonoid(7, SumMonoid(4906)) }, Fingerprint { range: Range(760, 827), fp: EncodedCountingMonoid(6, SumMonoid(4741)) }, Fingerprint { range: Range(827, 925), fp: EncodedCountingMonoid(5, SumMonoid(4335)) }, Fingerprint { range: Range(925, 996), fp: EncodedCountingMonoid(4, SumMonoid(3803)) }], item_sets: [], wants: [], provide: [(999, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(5, 83), fp: EncodedCountingMonoid(12, SumMonoid(548)) }, Fingerprint { range: Range(83, 201), fp: EncodedCountingMonoid(11, SumMonoid(1448)) }, Fingerprint { range: Range(296, 354), fp: EncodedCountingMonoid(6, SumMonoid(1900)) }, Fingerprint { range: Range(354, 461), fp: EncodedCountingMonoid(6, SumMonoid(2316)) }, Fingerprint { range: Range(461, 561), fp: EncodedCountingMonoid(7, SumMonoid(3593)) }, Fingerprint { range: Range(561, 610), fp: EncodedCountingMonoid(7, SumMonoid(4068)) }, Fingerprint { range: Range(610, 665), fp: EncodedCountingMonoid(6, SumMonoid(3820)) }, Fingerprint { range: Range(665, 760), fp: EncodedCountingMonoid(5, SumMonoid(3558)) }, Fingerprint { range: Range(827, 900), fp: EncodedCountingMonoid(5, SumMonoid(4316)) }, Fingerprint { range: Range(900, 925), fp: EncodedCountingMonoid(5, SumMonoid(4570)) }], item_sets: [ItemSet { range: Range(201, 276), items: [233, 236], want_response: true }, ItemSet { range: Range(276, 296), items: [276, 280], want_response: true }, ItemSet { range: Range(760, 804), items: [776, 780], want_response: true }, ItemSet { range: Range(804, 827), items: [804], want_response: true }, ItemSet { range: Range(925, 995), items: [926, 941], want_response: true }, ItemSet { range: Range(995, 996), items: [995], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(665, 752), fp: EncodedCountingMonoid(3, SumMonoid(2156)) }], item_sets: [ItemSet { range: Range(201, 276), items: [201, 228, 258, 259, 269], want_response: false }, ItemSet { range: Range(276, 296), items: [290], want_response: false }, ItemSet { range: Range(760, 804), items: [760, 764, 796, 800, 801], want_response: false }, ItemSet { range: Range(804, 827), items: [820], want_response: false }, ItemSet { range: Range(925, 995), items: [925, 943, 957, 978], want_response: false }, ItemSet { range: Range(995, 996), items: [], want_response: false }, ItemSet { range: Range(5, 55), items: [43, 50], want_response: true }, ItemSet { range: Range(55, 83), items: [55], want_response: true }, ItemSet { range: Range(83, 159), items: [88, 102], want_response: true }, ItemSet { range: Range(159, 201), items: [159, 178], want_response: true }, ItemSet { range: Range(296, 349), items: [305, 348], want_response: true }, ItemSet { range: Range(349, 354), items: [349], want_response: true }, ItemSet { range: Range(354, 461), items: [385, 427], want_response: true }, ItemSet { range: Range(461, 561), items: [461, 476], want_response: true }, ItemSet { range: Range(561, 610), items: [575, 606], want_response: true }, ItemSet { range: Range(610, 665), items: [610, 630], want_response: true }, ItemSet { range: Range(752, 760), items: [752, 758], want_response: true }, ItemSet { range: Range(827, 864), items: [845, 851], want_response: true }, ItemSet { range: Range(864, 900), items: [864, 869], want_response: true }, ItemSet { range: Range(900, 925), items: [906], want_response: true }], wants: [233, 236, 276, 280, 776, 780, 804, 926, 941, 995], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(665, 736), fp: EncodedCountingMonoid(3, SumMonoid(2082)) }], item_sets: [ItemSet { range: Range(5, 55), items: [5, 13, 19, 38, 39, 43, 54], want_response: false }, ItemSet { range: Range(55, 83), items: [58, 59, 67, 75, 78], want_response: false }, ItemSet { range: Range(83, 159), items: [83, 86, 87, 91, 111, 120, 157], want_response: false }, ItemSet { range: Range(159, 201), items: [159, 172, 182, 200], want_response: false }, ItemSet { range: Range(296, 349), items: [296, 301, 307, 313, 332], want_response: false }, ItemSet { range: Range(349, 354), items: [351], want_response: false }, ItemSet { range: Range(354, 461), items: [354, 356, 359, 360, 437, 450], want_response: false }, ItemSet { range: Range(461, 561), items: [466, 481, 486, 508, 547, 548, 557], want_response: false }, ItemSet { range: Range(561, 610), items: [561, 564, 568, 584, 589, 599, 603], want_response: false }, ItemSet { range: Range(610, 665), items: [618, 636, 638, 640, 642, 646], want_response: false }, ItemSet { range: Range(752, 760), items: [], want_response: false }, ItemSet { range: Range(827, 864), items: [827, 857], want_response: false }, ItemSet { range: Range(864, 900), items: [869, 877, 886], want_response: false }, ItemSet { range: Range(900, 925), items: [900, 905, 919, 922, 924], want_response: false }, ItemSet { range: Range(736, 752), items: [736, 740], want_response: true }], wants: [201, 228, 258, 259, 269, 290, 760, 764, 796, 800, 801, 820, 925, 943, 957, 978, 50, 55, 88, 102, 178, 305, 348, 349, 385, 427, 461, 476, 575, 606, 610, 630, 752, 758, 845, 851, 864, 906], provide: [(233, true), (236, true), (276, true), (280, true), (776, true), (780, true), (804, true), (926, true), (941, true), (995, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(736, 752), items: [], want_response: false }, ItemSet { range: Range(665, 730), items: [702, 724], want_response: true }, ItemSet { range: Range(730, 736), items: [730], want_response: true }], wants: [5, 13, 19, 38, 39, 54, 58, 59, 67, 75, 78, 83, 86, 87, 91, 111, 120, 157, 172, 182, 200, 296, 301, 307, 313, 332, 351, 354, 356, 359, 360, 437, 450, 466, 481, 486, 508, 547, 548, 557, 561, 564, 568, 584, 589, 599, 603, 618, 636, 638, 640, 642, 646, 827, 857, 877, 886, 900, 905, 919, 922, 924, 736, 740], provide: [(201, true), (228, true), (258, true), (259, true), (269, true), (290, true), (760, true), (764, true), (796, true), (800, true), (801, true), (820, true), (925, true), (943, true), (957, true), (978, true), (50, true), (55, true), (88, true), (102, true), (178, true), (305, true), (348, true), (349, true), (385, true), (427, true), (461, true), (476, true), (575, true), (606, true), (610, true), (630, true), (752, true), (758, true), (845, true), (851, true), (864, true), (906, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(665, 730), items: [665, 708, 709], want_response: false }, ItemSet { range: Range(730, 736), items: [], want_response: false }], wants: [702, 724, 730], provide: [(5, true), (13, true), (19, true), (38, true), (39, true), (54, true), (58, true), (59, true), (67, true), (75, true), (78, true), (83, true), (86, true), (87, true), (91, true), (111, true), (120, true), (157, true), (172, true), (182, true), (200, true), (296, true), (301, true), (307, true), (313, true), (332, true), (351, true), (354, true), (356, true), (359, true), (360, true), (437, true), (450, true), (466, true), (481, true), (486, true), (508, true), (547, true), (548, true), (557, true), (561, true), (564, true), (568, true), (584, true), (589, true), (599, true), (603, true), (618, true), (636, true), (638, true), (640, true), (642, true), (646, true), (827, true), (857, true), (877, true), (886, true), (900, true), (905, true), (919, true), (922, true), (924, true), (736, true), (740, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [665, 708, 709], provide: [(702, true), (724, true), (730, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(665, true), (708, true), (709, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {5, 13, 19, 38, 39, 43, 54, 58, 59, 67, 75, 78, 83, 86, 87, 91, 111, 120, 157, 159, 172, 182, 200, 233, 236, 276, 280, 296, 301, 307, 313, 332, 351, 354, 356, 359, 360, 437, 450, 466, 481, 486, 508, 547, 548, 557, 561, 564, 568, 584, 589, 599, 603, 618, 636, 638, 640, 642, 646, 665, 708, 709, 736, 740, 776, 780, 804, 827, 857, 869, 877, 886, 900, 905, 919, 922, 924, 926, 941, 995} + [999, 201, 228, 258, 259, 269, 290, 760, 764, 796, 800, 801, 820, 925, 943, 957, 978, 50, 55, 88, 102, 178, 305, 348, 349, 385, 427, 461, 476, 575, 606, 610, 630, 752, 758, 845, 851, 864, 906, 702, 724, 730] [INFO] [stdout] b all: {43, 50, 55, 88, 102, 159, 178, 201, 228, 258, 259, 269, 290, 305, 348, 349, 385, 427, 461, 476, 575, 606, 610, 630, 702, 724, 730, 752, 758, 760, 764, 796, 800, 801, 820, 845, 851, 864, 869, 906, 925, 943, 957, 978, 999} + [233, 236, 276, 280, 776, 780, 804, 926, 941, 995, 5, 13, 19, 38, 39, 54, 58, 59, 67, 75, 78, 83, 86, 87, 91, 111, 120, 157, 172, 182, 200, 296, 301, 307, 313, 332, 351, 354, 356, 359, 360, 437, 450, 466, 481, 486, 508, 547, 548, 557, 561, 564, 568, 584, 589, 599, 603, 618, 636, 638, 640, 642, 646, 827, 857, 877, 886, 900, 905, 919, 922, 924, 736, 740, 665, 708, 709] [INFO] [stdout] [INFO] [stdout] all vec: [5, 13, 19, 38, 39, 43, 50, 54, 55, 58, 59, 67, 75, 78, 83, 86, 87, 88, 91, 102, 111, 120, 157, 159, 172, 178, 182, 200, 201, 228, 233, 236, 258, 259, 269, 276, 280, 290, 296, 301, 305, 307, 313, 332, 348, 349, 351, 354, 356, 359, 360, 385, 427, 437, 450, 461, 466, 476, 481, 486, 508, 547, 548, 557, 561, 564, 568, 575, 584, 589, 599, 603, 606, 610, 618, 630, 636, 638, 640, 642, 646, 665, 702, 708, 709, 724, 730, 736, 740, 752, 758, 760, 764, 776, 780, 796, 800, 801, 804, 820, 827, 845, 851, 857, 864, 869, 877, 886, 900, 905, 906, 919, 922, 924, 925, 926, 941, 943, 957, 978, 995, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 13, 19, 38, 39, 43, 50, 54, 55, 58, 59, 67, 75, 78, 83, 86, 87, 88, 91, 102, 111, 120, 157, 159, 172, 178, 182, 200, 201, 228, 233, 236, 258, 259, 269, 276, 280, 290, 296, 301, 305, 307, 313, 332, 348, 349, 351, 354, 356, 359, 360, 385, 427, 437, 450, 461, 466, 476, 481, 486, 508, 547, 548, 557, 561, 564, 568, 575, 584, 589, 599, 603, 606, 610, 618, 630, 636, 638, 640, 642, 646, 665, 702, 708, 709, 724, 730, 736, 740, 752, 758, 760, 764, 776, 780, 796, 800, 801, 804, 820, 827, 845, 851, 857, 864, 869, 877, 886, 900, 905, 906, 919, 922, 924, 925, 926, 941, 943, 957, 978, 995, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 13, 19, 38, 39, 43, 50, 54, 55, 58, 59, 67, 75, 78, 83, 86, 87, 88, 91, 102, 111, 120, 157, 159, 172, 178, 182, 200, 201, 228, 233, 236, 258, 259, 269, 276, 280, 290, 296, 301, 305, 307, 313, 332, 348, 349, 351, 354, 356, 359, 360, 385, 427, 437, 450, 461, 466, 476, 481, 486, 508, 547, 548, 557, 561, 564, 568, 575, 584, 589, 599, 603, 606, 610, 618, 630, 636, 638, 640, 642, 646, 665, 702, 708, 709, 724, 730, 736, 740, 752, 758, 760, 764, 776, 780, 796, 800, 801, 804, 820, 827, 845, 851, 857, 864, 869, 877, 886, 900, 905, 906, 919, 922, 924, 925, 926, 941, 943, 957, 978, 995, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {70, 224, 227, 648, 840, 883, 930} [INFO] [stdout] b items: {18, 43, 156, 235, 242, 243, 315, 366, 383, 452, 453, 494, 500, 573, 609, 657, 668, 718, 729, 732, 843, 869, 892, 925, 939, 961} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(70, 931), fp: EncodedCountingMonoid(7, SumMonoid(3822)) }], item_sets: [ItemSet { range: Range(931, 70), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(70, 573), fp: EncodedCountingMonoid(11, SumMonoid(3839)) }, Fingerprint { range: Range(573, 931), fp: EncodedCountingMonoid(11, SumMonoid(8215)) }], item_sets: [ItemSet { range: Range(931, 70), items: [939, 961, 18, 43], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(70, 227), items: [70, 224], want_response: true }, ItemSet { range: Range(227, 573), items: [227], want_response: true }, ItemSet { range: Range(573, 883), items: [648, 840], want_response: true }, ItemSet { range: Range(883, 931), items: [883, 930], want_response: true }], wants: [939, 961, 18, 43], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(70, 227), items: [156], want_response: false }, ItemSet { range: Range(227, 573), items: [235, 242, 243, 315, 366, 383, 452, 453, 494, 500], want_response: false }, ItemSet { range: Range(573, 883), items: [573, 609, 657, 668, 718, 729, 732, 843, 869], want_response: false }, ItemSet { range: Range(883, 931), items: [892, 925], want_response: false }], wants: [70, 224, 227, 648, 840, 883, 930], provide: [(939, true), (961, true), (18, true), (43, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [156, 235, 242, 243, 315, 366, 383, 452, 453, 494, 500, 573, 609, 657, 668, 718, 729, 732, 843, 869, 892, 925], provide: [(70, true), (224, true), (227, true), (648, true), (840, true), (883, true), (930, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(156, true), (235, true), (242, true), (243, true), (315, true), (366, true), (383, true), (452, true), (453, true), (494, true), (500, true), (573, true), (609, true), (657, true), (668, true), (718, true), (729, true), (732, true), (843, true), (869, true), (892, true), (925, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {70, 224, 227, 648, 840, 883, 930} + [939, 961, 18, 43, 156, 235, 242, 243, 315, 366, 383, 452, 453, 494, 500, 573, 609, 657, 668, 718, 729, 732, 843, 869, 892, 925] [INFO] [stdout] b all: {18, 43, 156, 235, 242, 243, 315, 366, 383, 452, 453, 494, 500, 573, 609, 657, 668, 718, 729, 732, 843, 869, 892, 925, 939, 961} + [70, 224, 227, 648, 840, 883, 930] [INFO] [stdout] [INFO] [stdout] all vec: [18, 43, 70, 156, 224, 227, 235, 242, 243, 315, 366, 383, 452, 453, 494, 500, 573, 609, 648, 657, 668, 718, 729, 732, 840, 843, 869, 883, 892, 925, 930, 939, 961] [INFO] [stdout] [INFO] [stdout] a all vec: [18, 43, 70, 156, 224, 227, 235, 242, 243, 315, 366, 383, 452, 453, 494, 500, 573, 609, 648, 657, 668, 718, 729, 732, 840, 843, 869, 883, 892, 925, 930, 939, 961], true true [INFO] [stdout] [INFO] [stdout] b all vec: [18, 43, 70, 156, 224, 227, 235, 242, 243, 315, 366, 383, 452, 453, 494, 500, 573, 609, 648, 657, 668, 718, 729, 732, 840, 843, 869, 883, 892, 925, 930, 939, 961], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 3, 12, 30, 39, 52, 93, 140, 145, 149, 183, 225, 227, 249, 258, 282, 293, 298, 317, 333, 370, 407, 430, 433, 436, 444, 448, 529, 533, 540, 601, 603, 625, 705, 708, 724, 734, 742, 753, 814, 871, 880} [INFO] [stdout] b items: {7, 8, 19, 35, 61, 63, 87, 100, 105, 111, 113, 115, 124, 128, 131, 138, 140, 148, 150, 153, 184, 192, 201, 207, 208, 223, 228, 237, 244, 249, 251, 256, 257, 287, 289, 298, 308, 311, 317, 336, 350, 351, 356, 370, 375, 381, 390, 391, 447, 471, 478, 486, 493, 504, 521, 524, 532, 553, 555, 579, 592, 623, 631, 636, 653, 656, 669, 673, 679, 701, 721, 734, 740, 744, 763, 767, 778, 789, 799, 814, 823, 834, 846, 855, 908, 912, 933, 935, 946, 973, 982, 997} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 881), fp: EncodedCountingMonoid(42, SumMonoid(16659)) }], item_sets: [ItemSet { range: Range(881, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 356), fp: EncodedCountingMonoid(42, SumMonoid(7720)) }, Fingerprint { range: Range(356, 881), fp: EncodedCountingMonoid(42, SumMonoid(25926)) }], item_sets: [ItemSet { range: Range(881, 1), items: [908, 912, 933, 935, 946, 973, 982, 997], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 183), fp: EncodedCountingMonoid(10, SumMonoid(664)) }, Fingerprint { range: Range(183, 356), fp: EncodedCountingMonoid(10, SumMonoid(2665)) }, Fingerprint { range: Range(356, 603), fp: EncodedCountingMonoid(11, SumMonoid(5171)) }, Fingerprint { range: Range(603, 881), fp: EncodedCountingMonoid(11, SumMonoid(8159)) }], item_sets: [], wants: [908, 912, 933, 935, 946, 973, 982, 997], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 113), fp: EncodedCountingMonoid(10, SumMonoid(596)) }, Fingerprint { range: Range(113, 183), fp: EncodedCountingMonoid(10, SumMonoid(1340)) }, Fingerprint { range: Range(183, 256), fp: EncodedCountingMonoid(11, SumMonoid(2424)) }, Fingerprint { range: Range(256, 356), fp: EncodedCountingMonoid(11, SumMonoid(3360)) }, Fingerprint { range: Range(356, 493), fp: EncodedCountingMonoid(10, SumMonoid(4145)) }, Fingerprint { range: Range(493, 603), fp: EncodedCountingMonoid(9, SumMonoid(4853)) }, Fingerprint { range: Range(603, 744), fp: EncodedCountingMonoid(12, SumMonoid(8116)) }, Fingerprint { range: Range(744, 881), fp: EncodedCountingMonoid(11, SumMonoid(8812)) }], item_sets: [], wants: [], provide: [(908, true), (912, true), (933, true), (935, true), (946, true), (973, true), (982, true), (997, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 39), fp: EncodedCountingMonoid(4, SumMonoid(46)) }, Fingerprint { range: Range(39, 113), fp: EncodedCountingMonoid(3, SumMonoid(184)) }, Fingerprint { range: Range(256, 298), fp: EncodedCountingMonoid(3, SumMonoid(833)) }, Fingerprint { range: Range(298, 356), fp: EncodedCountingMonoid(3, SumMonoid(948)) }, Fingerprint { range: Range(356, 436), fp: EncodedCountingMonoid(4, SumMonoid(1640)) }, Fingerprint { range: Range(436, 493), fp: EncodedCountingMonoid(3, SumMonoid(1328)) }, Fingerprint { range: Range(603, 724), fp: EncodedCountingMonoid(4, SumMonoid(2641)) }, Fingerprint { range: Range(724, 744), fp: EncodedCountingMonoid(3, SumMonoid(2200)) }], item_sets: [ItemSet { range: Range(113, 149), items: [140, 145], want_response: true }, ItemSet { range: Range(149, 183), items: [149], want_response: true }, ItemSet { range: Range(183, 227), items: [183, 225], want_response: true }, ItemSet { range: Range(227, 256), items: [227, 249], want_response: true }, ItemSet { range: Range(493, 540), items: [529, 533], want_response: true }, ItemSet { range: Range(540, 603), items: [540, 601], want_response: true }, ItemSet { range: Range(744, 871), items: [753, 814], want_response: true }, ItemSet { range: Range(871, 881), items: [871, 880], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(39, 100), fp: EncodedCountingMonoid(3, SumMonoid(211)) }, Fingerprint { range: Range(100, 113), fp: EncodedCountingMonoid(3, SumMonoid(316)) }, Fingerprint { range: Range(298, 336), fp: EncodedCountingMonoid(4, SumMonoid(1234)) }, Fingerprint { range: Range(336, 356), fp: EncodedCountingMonoid(3, SumMonoid(1037)) }, Fingerprint { range: Range(356, 381), fp: EncodedCountingMonoid(3, SumMonoid(1101)) }, Fingerprint { range: Range(381, 436), fp: EncodedCountingMonoid(3, SumMonoid(1162)) }, Fingerprint { range: Range(603, 669), fp: EncodedCountingMonoid(5, SumMonoid(3199)) }, Fingerprint { range: Range(669, 724), fp: EncodedCountingMonoid(5, SumMonoid(3443)) }], item_sets: [ItemSet { range: Range(113, 149), items: [113, 115, 124, 128, 131, 138, 140, 148], want_response: false }, ItemSet { range: Range(149, 183), items: [150, 153], want_response: false }, ItemSet { range: Range(183, 227), items: [184, 192, 201, 207, 208, 223], want_response: false }, ItemSet { range: Range(227, 256), items: [228, 237, 244, 249, 251], want_response: false }, ItemSet { range: Range(493, 540), items: [493, 504, 521, 524, 532], want_response: false }, ItemSet { range: Range(540, 603), items: [553, 555, 579, 592], want_response: false }, ItemSet { range: Range(744, 871), items: [744, 763, 767, 778, 789, 799, 814, 823, 834, 846, 855], want_response: false }, ItemSet { range: Range(871, 881), items: [], want_response: false }, ItemSet { range: Range(1, 19), items: [7, 8], want_response: true }, ItemSet { range: Range(19, 39), items: [19, 35], want_response: true }, ItemSet { range: Range(256, 287), items: [256, 257], want_response: true }, ItemSet { range: Range(287, 298), items: [287, 289], want_response: true }, ItemSet { range: Range(436, 478), items: [447, 471], want_response: true }, ItemSet { range: Range(478, 493), items: [478, 486], want_response: true }, ItemSet { range: Range(724, 744), items: [734, 740], want_response: true }], wants: [145, 149, 183, 225, 227, 529, 533, 540, 601, 753, 871, 880], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 19), items: [1, 3, 12], want_response: false }, ItemSet { range: Range(19, 39), items: [30], want_response: false }, ItemSet { range: Range(256, 287), items: [258, 282], want_response: false }, ItemSet { range: Range(287, 298), items: [293], want_response: false }, ItemSet { range: Range(436, 478), items: [436, 444, 448], want_response: false }, ItemSet { range: Range(478, 493), items: [], want_response: false }, ItemSet { range: Range(724, 744), items: [724, 734, 742], want_response: false }, ItemSet { range: Range(39, 93), items: [39, 52], want_response: true }, ItemSet { range: Range(93, 100), items: [93], want_response: true }, ItemSet { range: Range(100, 113), items: [], want_response: true }, ItemSet { range: Range(298, 333), items: [298, 317], want_response: true }, ItemSet { range: Range(333, 336), items: [333], want_response: true }, ItemSet { range: Range(336, 356), items: [], want_response: true }, ItemSet { range: Range(356, 381), items: [370], want_response: true }, ItemSet { range: Range(381, 433), items: [407, 430], want_response: true }, ItemSet { range: Range(433, 436), items: [433], want_response: true }, ItemSet { range: Range(603, 669), items: [603, 625], want_response: true }, ItemSet { range: Range(669, 724), items: [705, 708], want_response: true }], wants: [113, 115, 124, 128, 131, 138, 148, 150, 153, 184, 192, 201, 207, 208, 223, 228, 237, 244, 251, 493, 504, 521, 524, 532, 553, 555, 579, 592, 744, 763, 767, 778, 789, 799, 823, 834, 846, 855, 7, 8, 19, 35, 256, 257, 287, 289, 447, 471, 478, 486, 740], provide: [(145, true), (149, true), (183, true), (225, true), (227, true), (529, true), (533, true), (540, true), (601, true), (753, true), (871, true), (880, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(39, 93), items: [61, 63, 87], want_response: false }, ItemSet { range: Range(93, 100), items: [], want_response: false }, ItemSet { range: Range(100, 113), items: [100, 105, 111], want_response: false }, ItemSet { range: Range(298, 333), items: [298, 308, 311, 317], want_response: false }, ItemSet { range: Range(333, 336), items: [], want_response: false }, ItemSet { range: Range(336, 356), items: [336, 350, 351], want_response: false }, ItemSet { range: Range(356, 381), items: [356, 370, 375], want_response: false }, ItemSet { range: Range(381, 433), items: [381, 390, 391], want_response: false }, ItemSet { range: Range(433, 436), items: [], want_response: false }, ItemSet { range: Range(603, 669), items: [623, 631, 636, 653, 656], want_response: false }, ItemSet { range: Range(669, 724), items: [669, 673, 679, 701, 721], want_response: false }], wants: [1, 3, 12, 30, 258, 282, 293, 436, 444, 448, 724, 742, 39, 52, 93, 333, 407, 430, 433, 603, 625, 705, 708], provide: [(113, true), (115, true), (124, true), (128, true), (131, true), (138, true), (148, true), (150, true), (153, true), (184, true), (192, true), (201, true), (207, true), (208, true), (223, true), (228, true), (237, true), (244, true), (251, true), (493, true), (504, true), (521, true), (524, true), (532, true), (553, true), (555, true), (579, true), (592, true), (744, true), (763, true), (767, true), (778, true), (789, true), (799, true), (823, true), (834, true), (846, true), (855, true), (7, true), (8, true), (19, true), (35, true), (256, true), (257, true), (287, true), (289, true), (447, true), (471, true), (478, true), (486, true), (740, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [61, 63, 87, 100, 105, 111, 308, 311, 336, 350, 351, 356, 375, 381, 390, 391, 623, 631, 636, 653, 656, 669, 673, 679, 701, 721], provide: [(1, true), (3, true), (12, true), (30, true), (258, true), (282, true), (293, true), (436, true), (444, true), (448, true), (724, true), (742, true), (39, true), (52, true), (93, true), (333, true), (407, true), (430, true), (433, true), (603, true), (625, true), (705, true), (708, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(61, true), (63, true), (87, true), (100, true), (105, true), (111, true), (308, true), (311, true), (336, true), (350, true), (351, true), (356, true), (375, true), (381, true), (390, true), (391, true), (623, true), (631, true), (636, true), (653, true), (656, true), (669, true), (673, true), (679, true), (701, true), (721, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 3, 12, 30, 39, 52, 93, 140, 145, 149, 183, 225, 227, 249, 258, 282, 293, 298, 317, 333, 370, 407, 430, 433, 436, 444, 448, 529, 533, 540, 601, 603, 625, 705, 708, 724, 734, 742, 753, 814, 871, 880} + [908, 912, 933, 935, 946, 973, 982, 997, 113, 115, 124, 128, 131, 138, 148, 150, 153, 184, 192, 201, 207, 208, 223, 228, 237, 244, 251, 493, 504, 521, 524, 532, 553, 555, 579, 592, 744, 763, 767, 778, 789, 799, 823, 834, 846, 855, 7, 8, 19, 35, 256, 257, 287, 289, 447, 471, 478, 486, 740, 61, 63, 87, 100, 105, 111, 308, 311, 336, 350, 351, 356, 375, 381, 390, 391, 623, 631, 636, 653, 656, 669, 673, 679, 701, 721] [INFO] [stdout] b all: {7, 8, 19, 35, 61, 63, 87, 100, 105, 111, 113, 115, 124, 128, 131, 138, 140, 148, 150, 153, 184, 192, 201, 207, 208, 223, 228, 237, 244, 249, 251, 256, 257, 287, 289, 298, 308, 311, 317, 336, 350, 351, 356, 370, 375, 381, 390, 391, 447, 471, 478, 486, 493, 504, 521, 524, 532, 553, 555, 579, 592, 623, 631, 636, 653, 656, 669, 673, 679, 701, 721, 734, 740, 744, 763, 767, 778, 789, 799, 814, 823, 834, 846, 855, 908, 912, 933, 935, 946, 973, 982, 997} + [145, 149, 183, 225, 227, 529, 533, 540, 601, 753, 871, 880, 1, 3, 12, 30, 258, 282, 293, 436, 444, 448, 724, 742, 39, 52, 93, 333, 407, 430, 433, 603, 625, 705, 708] [INFO] [stdout] [INFO] [stdout] all vec: [1, 3, 7, 8, 12, 19, 30, 35, 39, 52, 61, 63, 87, 93, 100, 105, 111, 113, 115, 124, 128, 131, 138, 140, 145, 148, 149, 150, 153, 183, 184, 192, 201, 207, 208, 223, 225, 227, 228, 237, 244, 249, 251, 256, 257, 258, 282, 287, 289, 293, 298, 308, 311, 317, 333, 336, 350, 351, 356, 370, 375, 381, 390, 391, 407, 430, 433, 436, 444, 447, 448, 471, 478, 486, 493, 504, 521, 524, 529, 532, 533, 540, 553, 555, 579, 592, 601, 603, 623, 625, 631, 636, 653, 656, 669, 673, 679, 701, 705, 708, 721, 724, 734, 740, 742, 744, 753, 763, 767, 778, 789, 799, 814, 823, 834, 846, 855, 871, 880, 908, 912, 933, 935, 946, 973, 982, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 3, 7, 8, 12, 19, 30, 35, 39, 52, 61, 63, 87, 93, 100, 105, 111, 113, 115, 124, 128, 131, 138, 140, 145, 148, 149, 150, 153, 183, 184, 192, 201, 207, 208, 223, 225, 227, 228, 237, 244, 249, 251, 256, 257, 258, 282, 287, 289, 293, 298, 308, 311, 317, 333, 336, 350, 351, 356, 370, 375, 381, 390, 391, 407, 430, 433, 436, 444, 447, 448, 471, 478, 486, 493, 504, 521, 524, 529, 532, 533, 540, 553, 555, 579, 592, 601, 603, 623, 625, 631, 636, 653, 656, 669, 673, 679, 701, 705, 708, 721, 724, 734, 740, 742, 744, 753, 763, 767, 778, 789, 799, 814, 823, 834, 846, 855, 871, 880, 908, 912, 933, 935, 946, 973, 982, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 3, 7, 8, 12, 19, 30, 35, 39, 52, 61, 63, 87, 93, 100, 105, 111, 113, 115, 124, 128, 131, 138, 140, 145, 148, 149, 150, 153, 183, 184, 192, 201, 207, 208, 223, 225, 227, 228, 237, 244, 249, 251, 256, 257, 258, 282, 287, 289, 293, 298, 308, 311, 317, 333, 336, 350, 351, 356, 370, 375, 381, 390, 391, 407, 430, 433, 436, 444, 447, 448, 471, 478, 486, 493, 504, 521, 524, 529, 532, 533, 540, 553, 555, 579, 592, 601, 603, 623, 625, 631, 636, 653, 656, 669, 673, 679, 701, 705, 708, 721, 724, 734, 740, 742, 744, 753, 763, 767, 778, 789, 799, 814, 823, 834, 846, 855, 871, 880, 908, 912, 933, 935, 946, 973, 982, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {11, 15, 26, 37, 61, 73, 77, 85, 86, 91, 97, 120, 121, 122, 153, 158, 203, 207, 221, 231, 274, 283, 292, 299, 333, 341, 349, 359, 371, 377, 378, 388, 391, 395, 403, 446, 471, 472, 481, 484, 502, 503, 555, 585, 597, 605, 613, 616, 672, 675, 683, 713, 714, 728, 734, 735, 810, 811, 829, 864, 865, 875, 878, 881, 883, 908, 920, 951, 959, 974, 997} [INFO] [stdout] b items: {151, 234, 257, 294, 609, 615} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 998), fp: EncodedCountingMonoid(71, SumMonoid(33417)) }], item_sets: [ItemSet { range: Range(998, 11), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 294), fp: EncodedCountingMonoid(3, SumMonoid(642)) }, Fingerprint { range: Range(294, 998), fp: EncodedCountingMonoid(3, SumMonoid(1518)) }], item_sets: [ItemSet { range: Range(998, 11), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 121), fp: EncodedCountingMonoid(12, SumMonoid(779)) }, Fingerprint { range: Range(121, 294), fp: EncodedCountingMonoid(11, SumMonoid(2265)) }, Fingerprint { range: Range(294, 616), fp: EncodedCountingMonoid(24, SumMonoid(10698)) }, Fingerprint { range: Range(616, 998), fp: EncodedCountingMonoid(24, SumMonoid(19675)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(11, 121), items: [], want_response: true }, ItemSet { range: Range(121, 257), items: [151, 234], want_response: true }, ItemSet { range: Range(257, 294), items: [257], want_response: true }, ItemSet { range: Range(294, 615), items: [294, 609], want_response: true }, ItemSet { range: Range(615, 616), items: [615], want_response: true }, ItemSet { range: Range(616, 998), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(11, 121), items: [11, 15, 26, 37, 61, 73, 77, 85, 86, 91, 97, 120], want_response: false }, ItemSet { range: Range(121, 257), items: [121, 122, 153, 158, 203, 207, 221, 231], want_response: false }, ItemSet { range: Range(257, 294), items: [274, 283, 292], want_response: false }, ItemSet { range: Range(294, 615), items: [299, 333, 341, 349, 359, 371, 377, 378, 388, 391, 395, 403, 446, 471, 472, 481, 484, 502, 503, 555, 585, 597, 605, 613], want_response: false }, ItemSet { range: Range(615, 616), items: [], want_response: false }, ItemSet { range: Range(616, 998), items: [616, 672, 675, 683, 713, 714, 728, 734, 735, 810, 811, 829, 864, 865, 875, 878, 881, 883, 908, 920, 951, 959, 974, 997], want_response: false }], wants: [151, 234, 257, 294, 609, 615], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [11, 15, 26, 37, 61, 73, 77, 85, 86, 91, 97, 120, 121, 122, 153, 158, 203, 207, 221, 231, 274, 283, 292, 299, 333, 341, 349, 359, 371, 377, 378, 388, 391, 395, 403, 446, 471, 472, 481, 484, 502, 503, 555, 585, 597, 605, 613, 616, 672, 675, 683, 713, 714, 728, 734, 735, 810, 811, 829, 864, 865, 875, 878, 881, 883, 908, 920, 951, 959, 974, 997], provide: [(151, true), (234, true), (257, true), (294, true), (609, true), (615, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(11, true), (15, true), (26, true), (37, true), (61, true), (73, true), (77, true), (85, true), (86, true), (91, true), (97, true), (120, true), (121, true), (122, true), (153, true), (158, true), (203, true), (207, true), (221, true), (231, true), (274, true), (283, true), (292, true), (299, true), (333, true), (341, true), (349, true), (359, true), (371, true), (377, true), (378, true), (388, true), (391, true), (395, true), (403, true), (446, true), (471, true), (472, true), (481, true), (484, true), (502, true), (503, true), (555, true), (585, true), (597, true), (605, true), (613, true), (616, true), (672, true), (675, true), (683, true), (713, true), (714, true), (728, true), (734, true), (735, true), (810, true), (811, true), (829, true), (864, true), (865, true), (875, true), (878, true), (881, true), (883, true), (908, true), (920, true), (951, true), (959, true), (974, true), (997, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {11, 15, 26, 37, 61, 73, 77, 85, 86, 91, 97, 120, 121, 122, 153, 158, 203, 207, 221, 231, 274, 283, 292, 299, 333, 341, 349, 359, 371, 377, 378, 388, 391, 395, 403, 446, 471, 472, 481, 484, 502, 503, 555, 585, 597, 605, 613, 616, 672, 675, 683, 713, 714, 728, 734, 735, 810, 811, 829, 864, 865, 875, 878, 881, 883, 908, 920, 951, 959, 974, 997} + [151, 234, 257, 294, 609, 615] [INFO] [stdout] b all: {151, 234, 257, 294, 609, 615} + [11, 15, 26, 37, 61, 73, 77, 85, 86, 91, 97, 120, 121, 122, 153, 158, 203, 207, 221, 231, 274, 283, 292, 299, 333, 341, 349, 359, 371, 377, 378, 388, 391, 395, 403, 446, 471, 472, 481, 484, 502, 503, 555, 585, 597, 605, 613, 616, 672, 675, 683, 713, 714, 728, 734, 735, 810, 811, 829, 864, 865, 875, 878, 881, 883, 908, 920, 951, 959, 974, 997] [INFO] [stdout] [INFO] [stdout] all vec: [11, 15, 26, 37, 61, 73, 77, 85, 86, 91, 97, 120, 121, 122, 151, 153, 158, 203, 207, 221, 231, 234, 257, 274, 283, 292, 294, 299, 333, 341, 349, 359, 371, 377, 378, 388, 391, 395, 403, 446, 471, 472, 481, 484, 502, 503, 555, 585, 597, 605, 609, 613, 615, 616, 672, 675, 683, 713, 714, 728, 734, 735, 810, 811, 829, 864, 865, 875, 878, 881, 883, 908, 920, 951, 959, 974, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [11, 15, 26, 37, 61, 73, 77, 85, 86, 91, 97, 120, 121, 122, 151, 153, 158, 203, 207, 221, 231, 234, 257, 274, 283, 292, 294, 299, 333, 341, 349, 359, 371, 377, 378, 388, 391, 395, 403, 446, 471, 472, 481, 484, 502, 503, 555, 585, 597, 605, 609, 613, 615, 616, 672, 675, 683, 713, 714, 728, 734, 735, 810, 811, 829, 864, 865, 875, 878, 881, 883, 908, 920, 951, 959, 974, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [11, 15, 26, 37, 61, 73, 77, 85, 86, 91, 97, 120, 121, 122, 151, 153, 158, 203, 207, 221, 231, 234, 257, 274, 283, 292, 294, 299, 333, 341, 349, 359, 371, 377, 378, 388, 391, 395, 403, 446, 471, 472, 481, 484, 502, 503, 555, 585, 597, 605, 609, 613, 615, 616, 672, 675, 683, 713, 714, 728, 734, 735, 810, 811, 829, 864, 865, 875, 878, 881, 883, 908, 920, 951, 959, 974, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 110, 121, 129, 130, 131, 143, 145, 149, 174, 189, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(89, SumMonoid(41647)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 261), fp: EncodedCountingMonoid(25, SumMonoid(3064)) }, Fingerprint { range: Range(261, 544), fp: EncodedCountingMonoid(25, SumMonoid(9912)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(20, SumMonoid(12521)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 261), fp: EncodedCountingMonoid(9, SumMonoid(2015)) }, Fingerprint { range: Range(261, 370), fp: EncodedCountingMonoid(12, SumMonoid(3589)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 110), fp: EncodedCountingMonoid(10, SumMonoid(494)) }, Fingerprint { range: Range(110, 194), fp: EncodedCountingMonoid(10, SumMonoid(1421)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(261, 311), fp: EncodedCountingMonoid(5, SumMonoid(1402)) }, Fingerprint { range: Range(311, 370), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(370, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 261), items: [233, 246], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(59, 110), fp: EncodedCountingMonoid(3, SumMonoid(230)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(261, 277), fp: EncodedCountingMonoid(4, SumMonoid(1072)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(370, 422), fp: EncodedCountingMonoid(3, SumMonoid(1118)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 261), items: [240, 243, 245, 249], want_response: false }, ItemSet { range: Range(110, 178), items: [117, 168], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(339, 370), items: [339, 355], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(59, 80), fp: EncodedCountingMonoid(3, SumMonoid(212)) }, Fingerprint { range: Range(370, 397), fp: EncodedCountingMonoid(3, SumMonoid(1138)) }, Fingerprint { range: Range(397, 422), fp: EncodedCountingMonoid(3, SumMonoid(1217)) }], item_sets: [ItemSet { range: Range(110, 178), items: [110, 121, 129, 130, 131, 143, 145, 149, 174], want_response: false }, ItemSet { range: Range(178, 194), items: [189], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(339, 370), items: [340, 362], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(80, 110), items: [80, 88], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(261, 277), items: [261, 266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 117, 168, 178, 217, 223, 339, 355, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [(233, true), (246, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(80, 110), items: [81, 90], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(261, 277), items: [264, 266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(59, 80), items: [59], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 397), items: [377], want_response: true }, ItemSet { range: Range(397, 422), items: [], want_response: true }], wants: [110, 121, 129, 130, 131, 143, 145, 149, 174, 225, 232, 340, 362, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 80, 88, 213, 261, 281, 294, 300, 319, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (117, true), (168, true), (178, true), (217, true), (223, true), (339, true), (355, true), (422, true), (433, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(59, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(370, 377), items: [376], want_response: false }, ItemSet { range: Range(377, 397), items: [377, 385], want_response: false }, ItemSet { range: Range(397, 422), items: [397, 407, 413], want_response: false }], wants: [52, 81, 90, 194, 201, 203, 264, 270, 272, 277, 289, 297, 317, 332, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 370, 371], provide: [(110, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true), (225, true), (232, true), (340, true), (362, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (80, true), (88, true), (213, true), (261, true), (281, true), (294, true), (300, true), (319, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 76, 77, 376, 385, 397, 407, 413], provide: [(52, true), (81, true), (90, true), (194, true), (201, true), (203, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (370, true), (371, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (76, true), (77, true), (376, true), (385, true), (397, true), (407, true), (413, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 110, 121, 129, 130, 131, 143, 145, 149, 174, 189, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 117, 168, 178, 217, 223, 339, 355, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 52, 81, 90, 194, 201, 203, 264, 270, 272, 277, 289, 297, 317, 332, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 370, 371] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 110, 121, 129, 130, 131, 143, 145, 149, 174, 225, 232, 340, 362, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 80, 88, 213, 261, 281, 294, 300, 319, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 76, 77, 376, 385, 397, 407, 413] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 110, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(88, SumMonoid(41458)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(25, SumMonoid(3136)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(24, SumMonoid(9651)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(20, SumMonoid(12521)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 110), fp: EncodedCountingMonoid(10, SumMonoid(494)) }, Fingerprint { range: Range(110, 194), fp: EncodedCountingMonoid(9, SumMonoid(1232)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 311), fp: EncodedCountingMonoid(4, SumMonoid(1141)) }, Fingerprint { range: Range(311, 371), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(59, 110), fp: EncodedCountingMonoid(3, SumMonoid(230)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(110, 178), items: [117, 168], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(59, 80), fp: EncodedCountingMonoid(3, SumMonoid(212)) }], item_sets: [ItemSet { range: Range(110, 178), items: [110, 121, 129, 130, 131, 143, 145, 149, 174], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(80, 110), items: [80, 88], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [117, 168, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(80, 110), items: [81, 90], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(59, 80), items: [59], want_response: true }], wants: [110, 121, 129, 130, 131, 143, 145, 149, 174, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 80, 88, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(117, true), (168, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(59, 80), items: [59, 76, 77], want_response: false }], wants: [52, 81, 90, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27], provide: [(110, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (80, true), (88, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (319, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 76, 77], provide: [(52, true), (81, true), (90, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (76, true), (77, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 110, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [117, 168, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 52, 81, 90, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [110, 121, 129, 130, 131, 143, 145, 149, 174, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 80, 88, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 76, 77] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(87, SumMonoid(41348)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(24, SumMonoid(3026)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(24, SumMonoid(9651)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(20, SumMonoid(12521)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(9, SumMonoid(406)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(9, SumMonoid(1210)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 311), fp: EncodedCountingMonoid(4, SumMonoid(1141)) }, Fingerprint { range: Range(311, 371), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(88, 143), items: [88, 121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }], wants: [52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (319, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174], provide: [(52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (90, true), (117, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (88, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(86, SumMonoid(40519)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(24, SumMonoid(3026)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(24, SumMonoid(9651)) }, Fingerprint { range: Range(544, 731), fp: EncodedCountingMonoid(19, SumMonoid(11790)) }, Fingerprint { range: Range(731, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16052)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 731), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(731, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(9, SumMonoid(406)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(9, SumMonoid(1210)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 311), fp: EncodedCountingMonoid(4, SumMonoid(1141)) }, Fingerprint { range: Range(311, 371), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(628, 663), fp: EncodedCountingMonoid(5, SumMonoid(3247)) }, Fingerprint { range: Range(663, 731), fp: EncodedCountingMonoid(4, SumMonoid(2722)) }, Fingerprint { range: Range(731, 770), fp: EncodedCountingMonoid(6, SumMonoid(4513)) }, Fingerprint { range: Range(770, 892), fp: EncodedCountingMonoid(5, SumMonoid(4023)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(663, 694), fp: EncodedCountingMonoid(3, SumMonoid(2031)) }, Fingerprint { range: Range(694, 731), fp: EncodedCountingMonoid(3, SumMonoid(2098)) }, Fingerprint { range: Range(770, 807), fp: EncodedCountingMonoid(5, SumMonoid(3927)) }, Fingerprint { range: Range(807, 892), fp: EncodedCountingMonoid(5, SumMonoid(4193)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(628, 642), items: [628, 641], want_response: true }, ItemSet { range: Range(642, 663), items: [642, 660], want_response: true }, ItemSet { range: Range(731, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(628, 642), items: [631], want_response: false }, ItemSet { range: Range(642, 663), items: [648, 652, 657, 659], want_response: false }, ItemSet { range: Range(731, 770), items: [731, 735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(663, 688), items: [663, 681], want_response: true }, ItemSet { range: Range(688, 694), items: [688, 690], want_response: true }, ItemSet { range: Range(694, 731), items: [], want_response: true }, ItemSet { range: Range(770, 806), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 807), items: [806], want_response: true }, ItemSet { range: Range(807, 892), items: [825, 845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 628, 641, 642, 660, 736, 755, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(663, 688), items: [664, 674], want_response: false }, ItemSet { range: Range(688, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 731), items: [694, 701, 703], want_response: false }, ItemSet { range: Range(770, 806), items: [770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(806, 807), items: [], want_response: false }, ItemSet { range: Range(807, 892), items: [807, 815, 849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 631, 648, 652, 657, 659, 731, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 663, 681, 688, 690, 777, 806, 825, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (736, true), (755, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(88, 143), items: [88, 121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }], wants: [52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 664, 674, 693, 694, 701, 703, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (631, true), (648, true), (652, true), (657, true), (659, true), (731, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (319, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (663, true), (681, true), (688, true), (690, true), (777, true), (806, true), (825, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174], provide: [(52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (90, true), (117, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (88, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 628, 641, 642, 660, 736, 755, 936, 963, 977, 990, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 664, 674, 693, 694, 701, 703, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 631, 648, 652, 657, 659, 731, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 663, 681, 688, 690, 777, 806, 825, 845, 901, 903, 914, 928, 7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174] [INFO] [stdout] [INFO] [stdout] all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(87, SumMonoid(41348)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(24, SumMonoid(3026)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(24, SumMonoid(9651)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(20, SumMonoid(12521)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(9, SumMonoid(406)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(9, SumMonoid(1210)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 311), fp: EncodedCountingMonoid(4, SumMonoid(1141)) }, Fingerprint { range: Range(311, 371), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(88, 143), items: [88, 121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }], wants: [52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (319, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174], provide: [(52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (90, true), (117, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (88, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(86, SumMonoid(40523)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(24, SumMonoid(3026)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(24, SumMonoid(9651)) }, Fingerprint { range: Range(544, 731), fp: EncodedCountingMonoid(19, SumMonoid(11790)) }, Fingerprint { range: Range(731, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16056)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 731), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(731, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(9, SumMonoid(406)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(9, SumMonoid(1210)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 311), fp: EncodedCountingMonoid(4, SumMonoid(1141)) }, Fingerprint { range: Range(311, 371), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(628, 663), fp: EncodedCountingMonoid(5, SumMonoid(3247)) }, Fingerprint { range: Range(663, 731), fp: EncodedCountingMonoid(4, SumMonoid(2722)) }, Fingerprint { range: Range(731, 770), fp: EncodedCountingMonoid(6, SumMonoid(4513)) }, Fingerprint { range: Range(770, 892), fp: EncodedCountingMonoid(5, SumMonoid(4027)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(663, 694), fp: EncodedCountingMonoid(3, SumMonoid(2031)) }, Fingerprint { range: Range(694, 731), fp: EncodedCountingMonoid(3, SumMonoid(2098)) }, Fingerprint { range: Range(770, 807), fp: EncodedCountingMonoid(5, SumMonoid(3927)) }, Fingerprint { range: Range(807, 892), fp: EncodedCountingMonoid(5, SumMonoid(4193)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(628, 642), items: [628, 641], want_response: true }, ItemSet { range: Range(642, 663), items: [642, 660], want_response: true }, ItemSet { range: Range(731, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(628, 642), items: [631], want_response: false }, ItemSet { range: Range(642, 663), items: [648, 652, 657, 659], want_response: false }, ItemSet { range: Range(731, 770), items: [731, 735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(663, 688), items: [663, 681], want_response: true }, ItemSet { range: Range(688, 694), items: [688, 690], want_response: true }, ItemSet { range: Range(694, 731), items: [], want_response: true }, ItemSet { range: Range(770, 806), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 807), items: [806], want_response: true }, ItemSet { range: Range(807, 892), items: [829, 845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 628, 641, 642, 660, 736, 755, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(663, 688), items: [664, 674], want_response: false }, ItemSet { range: Range(688, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 731), items: [694, 701, 703], want_response: false }, ItemSet { range: Range(770, 806), items: [770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(806, 807), items: [], want_response: false }, ItemSet { range: Range(807, 892), items: [807, 815, 849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 631, 648, 652, 657, 659, 731, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 663, 681, 688, 690, 777, 806, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (736, true), (755, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(88, 143), items: [88, 121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }], wants: [52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 664, 674, 693, 694, 701, 703, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (631, true), (648, true), (652, true), (657, true), (659, true), (731, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (319, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (663, true), (681, true), (688, true), (690, true), (777, true), (806, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174], provide: [(52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (90, true), (117, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (88, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 628, 641, 642, 660, 736, 755, 936, 963, 977, 990, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 664, 674, 693, 694, 701, 703, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 631, 648, 652, 657, 659, 731, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 663, 681, 688, 690, 777, 806, 829, 845, 901, 903, 914, 928, 7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174] [INFO] [stdout] [INFO] [stdout] all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(87, SumMonoid(41348)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(24, SumMonoid(3026)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(24, SumMonoid(9651)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(20, SumMonoid(12521)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(9, SumMonoid(406)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(9, SumMonoid(1210)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 311), fp: EncodedCountingMonoid(4, SumMonoid(1141)) }, Fingerprint { range: Range(311, 371), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(88, 143), items: [88, 121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }], wants: [52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (319, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174], provide: [(52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (90, true), (117, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (88, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(86, SumMonoid(40580)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(24, SumMonoid(3026)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(24, SumMonoid(9651)) }, Fingerprint { range: Range(544, 731), fp: EncodedCountingMonoid(19, SumMonoid(11790)) }, Fingerprint { range: Range(731, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16113)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 731), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(731, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(9, SumMonoid(406)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(9, SumMonoid(1210)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 311), fp: EncodedCountingMonoid(4, SumMonoid(1141)) }, Fingerprint { range: Range(311, 371), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(628, 663), fp: EncodedCountingMonoid(5, SumMonoid(3247)) }, Fingerprint { range: Range(663, 731), fp: EncodedCountingMonoid(4, SumMonoid(2722)) }, Fingerprint { range: Range(731, 777), fp: EncodedCountingMonoid(6, SumMonoid(4515)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(663, 694), fp: EncodedCountingMonoid(3, SumMonoid(2031)) }, Fingerprint { range: Range(694, 731), fp: EncodedCountingMonoid(3, SumMonoid(2098)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(628, 642), items: [628, 641], want_response: true }, ItemSet { range: Range(642, 663), items: [642, 660], want_response: true }, ItemSet { range: Range(731, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(628, 642), items: [631], want_response: false }, ItemSet { range: Range(642, 663), items: [648, 652, 657, 659], want_response: false }, ItemSet { range: Range(731, 770), items: [731, 735, 758, 760, 761], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(663, 688), items: [663, 681], want_response: true }, ItemSet { range: Range(688, 694), items: [688, 690], want_response: true }, ItemSet { range: Range(694, 731), items: [], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 628, 641, 642, 660, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(663, 688), items: [664, 674], want_response: false }, ItemSet { range: Range(688, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 731), items: [694, 701, 703], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 631, 648, 652, 657, 659, 731, 735, 758, 760, 761, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 663, 681, 688, 690, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(88, 143), items: [88, 121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }], wants: [52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 664, 674, 693, 694, 701, 703, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (631, true), (648, true), (652, true), (657, true), (659, true), (731, true), (735, true), (758, true), (760, true), (761, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (319, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (663, true), (681, true), (688, true), (690, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174], provide: [(52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (90, true), (117, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (88, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 628, 641, 642, 660, 736, 755, 774, 936, 963, 977, 990, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 664, 674, 693, 694, 701, 703, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 631, 648, 652, 657, 659, 731, 735, 758, 760, 761, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 663, 681, 688, 690, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174] [INFO] [stdout] [INFO] [stdout] all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 8, 23, 24, 27, 34, 41, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 565, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(87, SumMonoid(41348)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(24, SumMonoid(3026)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(24, SumMonoid(9651)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(20, SumMonoid(12521)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(9, SumMonoid(406)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(9, SumMonoid(1210)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 311), fp: EncodedCountingMonoid(4, SumMonoid(1141)) }, Fingerprint { range: Range(311, 371), fp: EncodedCountingMonoid(4, SumMonoid(1332)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 311), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(311, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 34), fp: EncodedCountingMonoid(3, SumMonoid(39)) }, Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(34, 59), items: [34, 41], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 311), items: [300], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(34, 59), items: [52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 311), items: [], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 34), items: [23, 27], want_response: true }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 34), items: [7, 8, 24], want_response: false }, ItemSet { range: Range(88, 143), items: [88, 121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }], wants: [52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (591, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (34, true), (41, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (319, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (565, true), (578, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174], provide: [(52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (90, true), (117, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (88, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 41, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 90, 117, 168] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 34, 41, 213, 233, 246, 281, 294, 300, 319, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 88, 121, 129, 130, 131, 143, 145, 149, 174] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(86, SumMonoid(41307)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(24, SumMonoid(3251)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(23, SumMonoid(9385)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(20, SumMonoid(12521)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(9, SumMonoid(453)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(8, SumMonoid(1122)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(7, SumMonoid(2207)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 591), fp: EncodedCountingMonoid(5, SumMonoid(2815)) }, Fingerprint { range: Range(591, 628), fp: EncodedCountingMonoid(5, SumMonoid(3006)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 194), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 591), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(194, 203), items: [194, 201], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(4, SumMonoid(73)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(4, SumMonoid(292)) }, Fingerprint { range: Range(121, 143), fp: EncodedCountingMonoid(4, SumMonoid(511)) }, Fingerprint { range: Range(143, 194), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(281, 311), fp: EncodedCountingMonoid(3, SumMonoid(875)) }], item_sets: [ItemSet { range: Range(194, 203), items: [], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(81, 121), items: [88], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562, 565], want_response: true }, ItemSet { range: Range(567, 591), items: [578], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [194, 201, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 591), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }, ItemSet { range: Range(121, 143), items: [], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(189, 194), items: [189], want_response: true }, ItemSet { range: Range(281, 311), items: [289, 297], want_response: true }], wants: [376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 88, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(194, true), (201, true), (489, true), (502, true), (531, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(121, 143), items: [121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(189, 194), items: [], want_response: false }, ItemSet { range: Range(281, 311), items: [281, 294, 300], want_response: false }], wants: [81, 90, 117, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 168, 178, 189, 289, 297], provide: [(376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (591, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (88, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (319, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (565, true), (578, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 34, 76, 77, 80, 121, 129, 130, 131, 143, 145, 149, 174, 281, 294, 300], provide: [(81, true), (90, true), (117, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true), (168, true), (178, true), (189, true), (289, true), (297, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (80, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true), (281, true), (294, true), (300, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 565, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [194, 201, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 81, 90, 117, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 168, 178, 189, 289, 297] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 591, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 88, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 565, 578, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 34, 76, 77, 80, 121, 129, 130, 131, 143, 145, 149, 174, 281, 294, 300] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(85, SumMonoid(40742)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(24, SumMonoid(3251)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(23, SumMonoid(9385)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(9, SumMonoid(453)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(8, SumMonoid(1122)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(7, SumMonoid(2207)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 194), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(194, 203), items: [194, 201], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(4, SumMonoid(73)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(4, SumMonoid(292)) }, Fingerprint { range: Range(121, 143), fp: EncodedCountingMonoid(4, SumMonoid(511)) }, Fingerprint { range: Range(143, 194), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(281, 311), fp: EncodedCountingMonoid(3, SumMonoid(875)) }], item_sets: [ItemSet { range: Range(194, 203), items: [], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(81, 121), items: [88], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [194, 201, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }, ItemSet { range: Range(121, 143), items: [], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(189, 194), items: [189], want_response: true }, ItemSet { range: Range(281, 311), items: [289, 297], want_response: true }], wants: [376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 88, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(194, true), (201, true), (489, true), (502, true), (531, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(121, 143), items: [121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(189, 194), items: [], want_response: false }, ItemSet { range: Range(281, 311), items: [281, 294, 300], want_response: false }], wants: [81, 90, 117, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 168, 178, 189, 289, 297], provide: [(376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (88, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (319, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (578, true), (591, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 34, 76, 77, 80, 121, 129, 130, 131, 143, 145, 149, 174, 281, 294, 300], provide: [(81, true), (90, true), (117, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true), (168, true), (178, true), (189, true), (289, true), (297, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (80, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true), (281, true), (294, true), (300, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [194, 201, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 81, 90, 117, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 168, 178, 189, 289, 297] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 88, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 34, 76, 77, 80, 121, 129, 130, 131, 143, 145, 149, 174, 281, 294, 300] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(84, SumMonoid(40135)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(24, SumMonoid(3251)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(23, SumMonoid(9385)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(12084)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(9, SumMonoid(453)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(8, SumMonoid(1122)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(7, SumMonoid(2207)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2439)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(5, SumMonoid(3525)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 194), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(194, 203), items: [194, 201], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(4, SumMonoid(73)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(4, SumMonoid(292)) }, Fingerprint { range: Range(121, 143), fp: EncodedCountingMonoid(4, SumMonoid(511)) }, Fingerprint { range: Range(143, 194), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(281, 311), fp: EncodedCountingMonoid(3, SumMonoid(875)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(194, 203), items: [], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(81, 121), items: [88], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(595, 609), items: [595, 602], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731, 735], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [194, 201, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(595, 609), items: [596, 602, 606], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }, ItemSet { range: Range(121, 143), items: [], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(189, 194), items: [189], want_response: true }, ItemSet { range: Range(281, 311), items: [289, 297], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 88, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 595, 659, 663, 681, 688, 690, 731, 735, 829, 845, 901, 903, 914, 928], provide: [(194, true), (201, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(121, 143), items: [121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(189, 194), items: [], want_response: false }, ItemSet { range: Range(281, 311), items: [281, 294, 300], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [81, 90, 117, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 596, 606, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 168, 178, 189, 289, 297, 641, 642, 807, 815], provide: [(376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (88, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (319, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (578, true), (591, true), (595, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (735, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [7, 8, 24, 34, 76, 77, 80, 121, 129, 130, 131, 143, 145, 149, 174, 281, 294, 300, 648, 652, 657, 825, 777, 806], provide: [(81, true), (90, true), (117, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true), (168, true), (178, true), (189, true), (289, true), (297, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (80, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true), (281, true), (294, true), (300, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [194, 201, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990, 81, 90, 117, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 596, 606, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 168, 178, 189, 289, 297, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 88, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 595, 659, 663, 681, 688, 690, 731, 735, 829, 845, 901, 903, 914, 928, 7, 8, 24, 34, 76, 77, 80, 121, 129, 130, 131, 143, 145, 149, 174, 281, 294, 300, 648, 652, 657, 825, 777, 806] [INFO] [stdout] [INFO] [stdout] all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 131, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(85, SumMonoid(40742)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(24, SumMonoid(3251)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(23, SumMonoid(9385)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(9, SumMonoid(453)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(8, SumMonoid(1122)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(7, SumMonoid(2207)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 194), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(194, 203), items: [194, 201], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(4, SumMonoid(73)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(4, SumMonoid(292)) }, Fingerprint { range: Range(121, 143), fp: EncodedCountingMonoid(4, SumMonoid(511)) }, Fingerprint { range: Range(143, 194), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(281, 311), fp: EncodedCountingMonoid(3, SumMonoid(875)) }], item_sets: [ItemSet { range: Range(194, 203), items: [], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(81, 121), items: [88], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [194, 201, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }, ItemSet { range: Range(121, 143), items: [], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(189, 194), items: [189], want_response: true }, ItemSet { range: Range(281, 311), items: [289, 297], want_response: true }], wants: [376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 88, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(194, true), (201, true), (489, true), (502, true), (531, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(121, 143), items: [121, 129, 130, 131], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(189, 194), items: [], want_response: false }, ItemSet { range: Range(281, 311), items: [281, 294, 300], want_response: false }], wants: [81, 90, 117, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 168, 178, 189, 289, 297], provide: [(376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (88, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (319, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (578, true), (591, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 34, 76, 77, 80, 121, 129, 130, 131, 143, 145, 149, 174, 281, 294, 300], provide: [(81, true), (90, true), (117, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true), (168, true), (178, true), (189, true), (289, true), (297, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (80, true), (121, true), (129, true), (130, true), (131, true), (143, true), (145, true), (149, true), (174, true), (281, true), (294, true), (300, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 131, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [194, 201, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 81, 90, 117, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 168, 178, 189, 289, 297] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 88, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 34, 76, 77, 80, 121, 129, 130, 131, 143, 145, 149, 174, 281, 294, 300] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(84, SumMonoid(40611)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(23, SumMonoid(3120)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(23, SumMonoid(9385)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 203), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(7, SumMonoid(2207)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 189), fp: EncodedCountingMonoid(4, SumMonoid(553)) }, Fingerprint { range: Range(189, 203), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 189), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(281, 311), fp: EncodedCountingMonoid(3, SumMonoid(875)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(189, 203), items: [], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(189, 203), items: [189, 194, 201], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(281, 311), items: [289, 297], want_response: true }], wants: [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(81, true), (489, true), (502, true), (531, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(281, 311), items: [281, 294, 300], want_response: false }], wants: [23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 289, 297], provide: [(76, true), (77, true), (80, true), (376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (319, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (578, true), (591, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [88, 121, 129, 130, 143, 145, 149, 174, 281, 294, 300], provide: [(23, true), (27, true), (52, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (178, true), (289, true), (297, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (281, true), (294, true), (300, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 289, 297] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 777, 806, 825, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 281, 294, 300] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(83, SumMonoid(40020)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(23, SumMonoid(3120)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(23, SumMonoid(9385)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(12100)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 203), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(7, SumMonoid(2207)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 602), fp: EncodedCountingMonoid(5, SumMonoid(2845)) }, Fingerprint { range: Range(602, 641), fp: EncodedCountingMonoid(4, SumMonoid(2451)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(5, SumMonoid(3525)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 189), fp: EncodedCountingMonoid(4, SumMonoid(553)) }, Fingerprint { range: Range(189, 203), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 569), fp: EncodedCountingMonoid(4, SumMonoid(2221)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(602, 609), items: [602, 606], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 189), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(281, 311), fp: EncodedCountingMonoid(3, SumMonoid(875)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(602, 609), items: [602, 607], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(189, 203), items: [], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [578, 595], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731, 735], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 489, 502, 531, 606, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(189, 203), items: [189, 194, 201], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(281, 311), items: [289, 297], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 607, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 595, 659, 663, 681, 688, 690, 731, 735, 829, 845, 901, 903, 914, 928], provide: [(81, true), (489, true), (502, true), (531, true), (606, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(281, 311), items: [281, 294, 300], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 596, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 289, 297, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (607, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (319, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (578, true), (595, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (735, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 281, 294, 300, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (596, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (178, true), (289, true), (297, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (281, true), (294, true), (300, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 489, 502, 531, 606, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 596, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 289, 297, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 607, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 595, 659, 663, 681, 688, 690, 731, 735, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 281, 294, 300, 648, 652, 657, 825, 777, 806] [INFO] [stdout] [INFO] [stdout] all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 319, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 735, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(84, SumMonoid(40611)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(23, SumMonoid(3120)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(23, SumMonoid(9385)) }, Fingerprint { range: Range(544, 735), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(735, 1000), fp: EncodedCountingMonoid(19, SumMonoid(16150)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 735), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(735, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 203), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(7, SumMonoid(2207)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(735, 777), fp: EncodedCountingMonoid(6, SumMonoid(4552)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 189), fp: EncodedCountingMonoid(4, SumMonoid(553)) }, Fingerprint { range: Range(189, 203), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(735, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 189), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(281, 311), fp: EncodedCountingMonoid(3, SumMonoid(875)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(735, 770), items: [735, 758, 760, 761, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(189, 203), items: [], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(189, 203), items: [189, 194, 201], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(281, 311), items: [289, 297], want_response: true }], wants: [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(81, true), (489, true), (502, true), (531, true), (596, true), (606, true), (609, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(281, 311), items: [281, 294, 300], want_response: false }], wants: [23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 289, 297], provide: [(76, true), (77, true), (80, true), (376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (595, true), (607, true), (611, true), (735, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (319, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (578, true), (591, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [88, 121, 129, 130, 143, 145, 149, 174, 281, 294, 300], provide: [(23, true), (27, true), (52, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (178, true), (289, true), (297, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (281, true), (294, true), (300, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 735, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 489, 502, 531, 596, 606, 609, 736, 755, 774, 936, 963, 977, 990, 23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 289, 297] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 595, 607, 611, 735, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 777, 806, 825, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 281, 294, 300] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(83, SumMonoid(39876)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(23, SumMonoid(3120)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(23, SumMonoid(9385)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 203), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(7, SumMonoid(2207)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(5, SumMonoid(3046)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 189), fp: EncodedCountingMonoid(4, SumMonoid(553)) }, Fingerprint { range: Range(189, 203), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 189), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(281, 311), fp: EncodedCountingMonoid(3, SumMonoid(875)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(189, 203), items: [], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(311, 339), items: [311, 319], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(189, 203), items: [189, 194, 201], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(311, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(281, 311), items: [289, 297], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(81, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(281, 311), items: [281, 294, 300], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 289, 297, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (319, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 281, 294, 300, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (178, true), (289, true), (297, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (281, true), (294, true), (300, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 319, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 289, 297, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 319, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 281, 294, 300, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(82, SumMonoid(39557)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 281), fp: EncodedCountingMonoid(23, SumMonoid(3120)) }, Fingerprint { range: Range(281, 544), fp: EncodedCountingMonoid(22, SumMonoid(9066)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 203), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(203, 281), fp: EncodedCountingMonoid(12, SumMonoid(2969)) }, Fingerprint { range: Range(281, 422), fp: EncodedCountingMonoid(10, SumMonoid(3358)) }, Fingerprint { range: Range(422, 544), fp: EncodedCountingMonoid(9, SumMonoid(4237)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 203), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(203, 246), fp: EncodedCountingMonoid(4, SumMonoid(903)) }, Fingerprint { range: Range(246, 281), fp: EncodedCountingMonoid(3, SumMonoid(773)) }, Fingerprint { range: Range(281, 376), fp: EncodedCountingMonoid(6, SumMonoid(1888)) }, Fingerprint { range: Range(376, 422), fp: EncodedCountingMonoid(6, SumMonoid(2355)) }, Fingerprint { range: Range(422, 483), fp: EncodedCountingMonoid(5, SumMonoid(2258)) }, Fingerprint { range: Range(483, 544), fp: EncodedCountingMonoid(5, SumMonoid(2565)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(5, SumMonoid(3046)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 189), fp: EncodedCountingMonoid(4, SumMonoid(553)) }, Fingerprint { range: Range(189, 203), fp: EncodedCountingMonoid(3, SumMonoid(584)) }, Fingerprint { range: Range(203, 240), fp: EncodedCountingMonoid(3, SumMonoid(643)) }, Fingerprint { range: Range(240, 246), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(246, 270), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(270, 281), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(281, 339), fp: EncodedCountingMonoid(5, SumMonoid(1546)) }, Fingerprint { range: Range(339, 376), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(422, 459), fp: EncodedCountingMonoid(3, SumMonoid(1309)) }, Fingerprint { range: Range(459, 483), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(376, 422), items: [377], want_response: true }, ItemSet { range: Range(483, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 189), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(376, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(483, 531), items: [483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(189, 203), items: [], want_response: true }, ItemSet { range: Range(203, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(240, 246), items: [], want_response: true }, ItemSet { range: Range(246, 266), items: [246, 261], want_response: true }, ItemSet { range: Range(266, 270), items: [266], want_response: true }, ItemSet { range: Range(270, 281), items: [], want_response: true }, ItemSet { range: Range(281, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 339), items: [300, 311], want_response: true }, ItemSet { range: Range(339, 376), items: [340, 362], want_response: true }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: true }, ItemSet { range: Range(442, 459), items: [442], want_response: true }, ItemSet { range: Range(459, 483), items: [481, 482], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(189, 203), items: [189, 194, 201], want_response: false }, ItemSet { range: Range(203, 232), items: [203, 217, 223], want_response: false }, ItemSet { range: Range(232, 240), items: [], want_response: false }, ItemSet { range: Range(240, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 266), items: [249, 264], want_response: false }, ItemSet { range: Range(266, 270), items: [266], want_response: false }, ItemSet { range: Range(270, 281), items: [270, 272, 277], want_response: false }, ItemSet { range: Range(281, 300), items: [289, 297], want_response: false }, ItemSet { range: Range(300, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 376), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 459), items: [454], want_response: false }, ItemSet { range: Range(459, 483), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 281, 294, 300, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(81, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 189), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (376, true), (385, true), (397, true), (407, true), (413, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (225, true), (232, true), (233, true), (246, true), (261, true), (281, true), (294, true), (300, true), (340, true), (362, true), (423, true), (430, true), (442, true), (481, true), (482, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (178, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 311, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 178, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 376, 385, 397, 407, 413, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 225, 232, 233, 246, 261, 281, 294, 300, 340, 362, 423, 430, 442, 481, 482, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(81, SumMonoid(39246)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(22, SumMonoid(2854)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(22, SumMonoid(9021)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 300), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(300, 371), fp: EncodedCountingMonoid(3, SumMonoid(1002)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(5, SumMonoid(3046)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 300), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(300, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 339), items: [300], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(80, SumMonoid(38485)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(22, SumMonoid(2854)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(22, SumMonoid(9021)) }, Fingerprint { range: Range(544, 731), fp: EncodedCountingMonoid(18, SumMonoid(11225)) }, Fingerprint { range: Range(731, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15385)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(10, SumMonoid(5790)) }, Fingerprint { range: Range(628, 731), fp: EncodedCountingMonoid(10, SumMonoid(6700)) }, Fingerprint { range: Range(731, 892), fp: EncodedCountingMonoid(12, SumMonoid(9611)) }, Fingerprint { range: Range(892, 1000), fp: EncodedCountingMonoid(11, SumMonoid(10221)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 300), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(300, 371), fp: EncodedCountingMonoid(3, SumMonoid(1002)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(628, 663), fp: EncodedCountingMonoid(5, SumMonoid(3247)) }, Fingerprint { range: Range(663, 731), fp: EncodedCountingMonoid(4, SumMonoid(2722)) }, Fingerprint { range: Range(731, 777), fp: EncodedCountingMonoid(5, SumMonoid(3787)) }, Fingerprint { range: Range(777, 892), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 300), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(300, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(663, 694), fp: EncodedCountingMonoid(3, SumMonoid(2031)) }, Fingerprint { range: Range(694, 731), fp: EncodedCountingMonoid(3, SumMonoid(2098)) }, Fingerprint { range: Range(777, 815), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(815, 892), fp: EncodedCountingMonoid(4, SumMonoid(3386)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }, ItemSet { range: Range(628, 642), items: [628, 641], want_response: true }, ItemSet { range: Range(642, 663), items: [642, 660], want_response: true }, ItemSet { range: Range(731, 770), items: [736, 755], want_response: true }, ItemSet { range: Range(770, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607, 611], want_response: false }, ItemSet { range: Range(628, 642), items: [631], want_response: false }, ItemSet { range: Range(642, 663), items: [648, 652, 657, 659], want_response: false }, ItemSet { range: Range(731, 770), items: [731, 758, 760, 768], want_response: false }, ItemSet { range: Range(770, 777), items: [770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 339), items: [300], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(663, 688), items: [663, 681], want_response: true }, ItemSet { range: Range(688, 694), items: [688, 690], want_response: true }, ItemSet { range: Range(694, 731), items: [], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 806], want_response: true }, ItemSet { range: Range(815, 845), items: [825, 829], want_response: true }, ItemSet { range: Range(845, 892), items: [845], want_response: true }, ItemSet { range: Range(892, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 628, 641, 642, 660, 736, 755, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(663, 688), items: [664, 674], want_response: false }, ItemSet { range: Range(688, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 731), items: [694, 701, 703], want_response: false }, ItemSet { range: Range(777, 815), items: [780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 845), items: [815], want_response: false }, ItemSet { range: Range(845, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 914), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 595, 607, 611, 631, 648, 652, 657, 659, 731, 758, 760, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 663, 681, 688, 690, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (736, true), (755, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }], wants: [23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 664, 674, 693, 694, 701, 703, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (595, true), (607, true), (611, true), (631, true), (648, true), (652, true), (657, true), (659, true), (731, true), (758, true), (760, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (578, true), (591, true), (663, true), (681, true), (688, true), (690, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [88, 121, 129, 130, 143, 145, 149, 174], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 596, 606, 609, 628, 641, 642, 660, 736, 755, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 664, 674, 693, 694, 701, 703, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 595, 607, 611, 631, 648, 652, 657, 659, 731, 758, 760, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 663, 681, 688, 690, 777, 806, 825, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174] [INFO] [stdout] [INFO] [stdout] all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 736, 755, 758, 760, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 736, 755, 758, 760, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 736, 755, 758, 760, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(81, SumMonoid(39246)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(22, SumMonoid(2854)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(22, SumMonoid(9021)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 300), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(300, 371), fp: EncodedCountingMonoid(3, SumMonoid(1002)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(5, SumMonoid(3046)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 300), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(300, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 339), items: [300], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(80, SumMonoid(38668)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(22, SumMonoid(2854)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(22, SumMonoid(9021)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(18, SumMonoid(11378)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 300), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(300, 371), fp: EncodedCountingMonoid(3, SumMonoid(1002)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 602), fp: EncodedCountingMonoid(5, SumMonoid(2858)) }, Fingerprint { range: Range(602, 641), fp: EncodedCountingMonoid(4, SumMonoid(2451)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 300), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(300, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 569), fp: EncodedCountingMonoid(4, SumMonoid(2221)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(602, 609), items: [602, 606], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(602, 609), items: [602, 607], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 339), items: [300], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 606, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 607, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 591, 595, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (606, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (607, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (591, true), (595, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (596, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 606, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 607, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 591, 595, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806] [INFO] [stdout] [INFO] [stdout] all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 8, 23, 24, 27, 34, 52, 59, 76, 77, 80, 81, 88, 90, 117, 121, 129, 130, 143, 145, 149, 168, 174, 178, 189, 194, 201, 203, 213, 217, 223, 225, 232, 233, 240, 243, 245, 246, 249, 261, 264, 266, 270, 272, 277, 281, 289, 294, 297, 300, 311, 317, 332, 339, 340, 355, 362, 370, 371, 376, 377, 385, 397, 407, 413, 422, 423, 430, 433, 442, 454, 459, 471, 476, 481, 482, 483, 489, 502, 514, 520, 522, 526, 531, 544, 548, 552, 558, 562, 567, 569, 587, 591, 595, 596, 602, 606, 607, 609, 611, 628, 631, 641, 642, 648, 652, 657, 659, 660, 663, 664, 674, 681, 688, 690, 693, 694, 701, 703, 731, 736, 755, 758, 760, 761, 768, 770, 774, 777, 780, 801, 802, 806, 807, 815, 825, 829, 845, 849, 860, 862, 892, 895, 896, 897, 901, 903, 914, 922, 926, 927, 928, 931, 936, 963, 967, 973, 977, 990, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(81, SumMonoid(39246)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(22, SumMonoid(2854)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(22, SumMonoid(9021)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 300), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(300, 371), fp: EncodedCountingMonoid(3, SumMonoid(1002)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(5, SumMonoid(3046)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 277), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(277, 300), fp: EncodedCountingMonoid(3, SumMonoid(863)) }, Fingerprint { range: Range(300, 339), fp: EncodedCountingMonoid(3, SumMonoid(960)) }, Fingerprint { range: Range(339, 371), fp: EncodedCountingMonoid(3, SumMonoid(1064)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 277), items: [266], want_response: true }, ItemSet { range: Range(277, 300), items: [281, 294], want_response: true }, ItemSet { range: Range(300, 339), items: [300], want_response: true }, ItemSet { range: Range(339, 371), items: [340, 362], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 277), items: [266, 270, 272], want_response: false }, ItemSet { range: Range(277, 300), items: [277, 289, 297], want_response: false }, ItemSet { range: Range(300, 339), items: [311, 317, 332], want_response: false }, ItemSet { range: Range(339, 371), items: [339, 355, 370], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (233, true), (246, true), (281, true), (294, true), (300, true), (340, true), (362, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 300, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 300, 340, 362, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(80, SumMonoid(38946)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(22, SumMonoid(2854)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(21, SumMonoid(8721)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(233, 266), fp: EncodedCountingMonoid(3, SumMonoid(740)) }, Fingerprint { range: Range(266, 340), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(371, 442), fp: EncodedCountingMonoid(8, SumMonoid(3208)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(8, SumMonoid(3970)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(5, SumMonoid(3046)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(233, 249), fp: EncodedCountingMonoid(3, SumMonoid(728)) }, Fingerprint { range: Range(266, 297), fp: EncodedCountingMonoid(5, SumMonoid(1374)) }, Fingerprint { range: Range(297, 340), fp: EncodedCountingMonoid(5, SumMonoid(1596)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(249, 266), items: [249, 264], want_response: true }, ItemSet { range: Range(371, 422), items: [371, 377], want_response: true }, ItemSet { range: Range(422, 442), items: [422, 433], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(249, 266), items: [261], want_response: false }, ItemSet { range: Range(371, 422), items: [376, 377, 385, 397, 407, 413], want_response: false }, ItemSet { range: Range(422, 442), items: [423, 430], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(233, 249), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 294), items: [266, 281], want_response: true }, ItemSet { range: Range(294, 297), items: [294], want_response: true }, ItemSet { range: Range(297, 340), items: [], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482, 483], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [355, 370, 81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [(340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(233, 249), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(266, 294), items: [266, 270, 272, 277, 289], want_response: false }, ItemSet { range: Range(294, 297), items: [], want_response: false }, ItemSet { range: Range(297, 340), items: [297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(355, true), (370, true), (81, true), (178, true), (189, true), (217, true), (223, true), (249, true), (264, true), (371, true), (422, true), (433, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (261, true), (376, true), (385, true), (397, true), (407, true), (413, true), (423, true), (430, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (233, true), (246, true), (281, true), (294, true), (442, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (240, true), (243, true), (245, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 340, 362, 376, 377, 385, 397, 407, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [355, 370, 81, 178, 189, 217, 223, 249, 264, 371, 422, 433, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 240, 243, 245, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [340, 362, 76, 77, 80, 225, 232, 261, 376, 385, 397, 407, 413, 423, 430, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 233, 246, 281, 294, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(79, SumMonoid(38539)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 261), fp: EncodedCountingMonoid(21, SumMonoid(2593)) }, Fingerprint { range: Range(261, 544), fp: EncodedCountingMonoid(21, SumMonoid(8575)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 261), fp: EncodedCountingMonoid(9, SumMonoid(2015)) }, Fingerprint { range: Range(261, 370), fp: EncodedCountingMonoid(12, SumMonoid(3589)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(261, 294), fp: EncodedCountingMonoid(3, SumMonoid(808)) }, Fingerprint { range: Range(294, 370), fp: EncodedCountingMonoid(3, SumMonoid(996)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(5, SumMonoid(3046)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 261), items: [233, 246], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(261, 272), fp: EncodedCountingMonoid(3, SumMonoid(800)) }, Fingerprint { range: Range(272, 294), fp: EncodedCountingMonoid(3, SumMonoid(838)) }, Fingerprint { range: Range(294, 332), fp: EncodedCountingMonoid(3, SumMonoid(925)) }, Fingerprint { range: Range(332, 370), fp: EncodedCountingMonoid(3, SumMonoid(1026)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 261), items: [240, 243, 245, 249], want_response: false }, ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(261, 272), items: [261, 266], want_response: true }, ItemSet { range: Range(272, 294), items: [281], want_response: true }, ItemSet { range: Range(294, 332), items: [294], want_response: true }, ItemSet { range: Range(332, 370), items: [340, 362], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 81, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [(233, true), (246, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(261, 272), items: [264, 266, 270], want_response: false }, ItemSet { range: Range(272, 294), items: [272, 277, 289], want_response: false }, ItemSet { range: Range(294, 332), items: [297, 311, 317], want_response: false }, ItemSet { range: Range(332, 370), items: [332, 339, 355], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 261, 281, 294, 340, 362, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (81, true), (178, true), (189, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(370, 377), items: [376], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 194, 201, 203, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 370, 371, 422, 433, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (261, true), (281, true), (294, true), (340, true), (362, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (370, true), (371, true), (422, true), (433, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 261, 266, 281, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 81, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 370, 371, 422, 433, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 76, 77, 80, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 261, 281, 294, 340, 362, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 281, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(78, SumMonoid(38278)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(21, SumMonoid(2593)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(20, SumMonoid(8314)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(19, SumMonoid(11956)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(266, 340), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(5, SumMonoid(3046)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(266, 297), fp: EncodedCountingMonoid(5, SumMonoid(1374)) }, Fingerprint { range: Range(297, 340), fp: EncodedCountingMonoid(5, SumMonoid(1596)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611, 631], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(266, 294), items: [266, 281], want_response: true }, ItemSet { range: Range(294, 297), items: [294], want_response: true }, ItemSet { range: Range(297, 340), items: [], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 355, 370, 81, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [(233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(266, 294), items: [266, 270, 272, 277, 289], want_response: false }, ItemSet { range: Range(294, 297), items: [], want_response: false }, ItemSet { range: Range(297, 340), items: [297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 281, 294, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (355, true), (370, true), (81, true), (178, true), (189, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 194, 201, 203, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 371, 422, 433, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (631, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (281, true), (294, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (371, true), (422, true), (433, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 281, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 631, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 355, 370, 81, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 371, 422, 433, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 340, 362, 76, 77, 80, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 631, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 281, 294, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 281, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(77, SumMonoid(37647)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(21, SumMonoid(2593)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(20, SumMonoid(8314)) }, Fingerprint { range: Range(544, 758), fp: EncodedCountingMonoid(18, SumMonoid(11325)) }, Fingerprint { range: Range(758, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15415)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(758, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(266, 340), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(5, SumMonoid(2841)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 758), fp: EncodedCountingMonoid(4, SumMonoid(2790)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(5, SumMonoid(3817)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(5, SumMonoid(4082)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(266, 297), fp: EncodedCountingMonoid(5, SumMonoid(1374)) }, Fingerprint { range: Range(297, 340), fp: EncodedCountingMonoid(5, SumMonoid(1596)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 758), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(777, 849), fp: EncodedCountingMonoid(5, SumMonoid(4005)) }, Fingerprint { range: Range(849, 895), fp: EncodedCountingMonoid(4, SumMonoid(3463)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 760, 761, 768, 770], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(266, 294), items: [266, 281], want_response: true }, ItemSet { range: Range(294, 297), items: [294], want_response: true }, ItemSet { range: Range(297, 340), items: [], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 562), items: [552, 558], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 758), items: [731], want_response: true }, ItemSet { range: Range(829, 849), items: [829, 845], want_response: true }, ItemSet { range: Range(849, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 355, 370, 81, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990], provide: [(233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(266, 294), items: [266, 270, 272, 277, 289], want_response: false }, ItemSet { range: Range(294, 297), items: [], want_response: false }, ItemSet { range: Range(297, 340), items: [297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 758), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(829, 849), items: [], want_response: false }, ItemSet { range: Range(849, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }], wants: [76, 77, 80, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 281, 294, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (355, true), (370, true), (81, true), (178, true), (189, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (774, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }], wants: [23, 27, 52, 194, 201, 203, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 371, 422, 433, 641, 642, 807, 815], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (758, true), (760, true), (761, true), (768, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (281, true), (294, true), (552, true), (558, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }], wants: [88, 121, 129, 130, 143, 145, 149, 174, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 825, 777, 806], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (371, true), (422, true), (433, true), (641, true), (642, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [780, 801, 802], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (648, true), (652, true), (657, true), (825, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(780, true), (801, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 281, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 558, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 355, 370, 81, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 774, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 371, 422, 433, 641, 642, 807, 815, 780, 801, 802] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 340, 362, 76, 77, 80, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 758, 760, 761, 768, 931, 967, 973, 999, 7, 8, 24, 34, 213, 281, 294, 552, 558, 578, 591, 659, 663, 681, 688, 690, 731, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 825, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 281, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(76, SumMonoid(37089)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(21, SumMonoid(2593)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(20, SumMonoid(8314)) }, Fingerprint { range: Range(544, 760), fp: EncodedCountingMonoid(18, SumMonoid(11525)) }, Fingerprint { range: Range(760, 1000), fp: EncodedCountingMonoid(17, SumMonoid(14657)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 760), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(760, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 194), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(266, 340), fp: EncodedCountingMonoid(3, SumMonoid(841)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 760), fp: EncodedCountingMonoid(5, SumMonoid(3548)) }, Fingerprint { range: Range(760, 806), fp: EncodedCountingMonoid(5, SumMonoid(3836)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(88, 178), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(266, 297), fp: EncodedCountingMonoid(5, SumMonoid(1374)) }, Fingerprint { range: Range(297, 340), fp: EncodedCountingMonoid(5, SumMonoid(1596)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 760), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(760, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(178, 194), items: [178, 189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(88, 143), fp: EncodedCountingMonoid(4, SumMonoid(468)) }, Fingerprint { range: Range(143, 178), fp: EncodedCountingMonoid(4, SumMonoid(611)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(760, 770), fp: EncodedCountingMonoid(3, SumMonoid(2289)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(178, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(266, 294), items: [266, 281], want_response: true }, ItemSet { range: Range(294, 297), items: [294], want_response: true }, ItemSet { range: Range(297, 340), items: [], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 355, 370, 81, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(266, 294), items: [266, 270, 272, 277, 289], want_response: false }, ItemSet { range: Range(294, 297), items: [], want_response: false }, ItemSet { range: Range(297, 340), items: [297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(88, 143), items: [90, 117], want_response: true }, ItemSet { range: Range(143, 178), items: [168], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(760, 770), items: [], want_response: true }], wants: [76, 77, 80, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 931, 967, 973, 999, 7, 8, 24, 34, 213, 281, 294, 552, 578, 591, 659, 663, 681, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (355, true), (370, true), (81, true), (178, true), (189, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(88, 143), items: [88, 121, 129, 130], want_response: false }, ItemSet { range: Range(143, 178), items: [143, 145, 149, 174], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(760, 770), items: [760, 761, 768], want_response: false }], wants: [23, 27, 52, 194, 201, 203, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 371, 422, 433, 641, 642], provide: [(76, true), (77, true), (80, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (213, true), (281, true), (294, true), (552, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (758, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [88, 121, 129, 130, 143, 145, 149, 174, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 760, 761, 768], provide: [(23, true), (27, true), (52, true), (194, true), (201, true), (203, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (90, true), (117, true), (168, true), (371, true), (422, true), (433, true), (641, true), (642, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (648, true), (652, true), (657, true), (760, true), (761, true), (768, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 281, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 355, 370, 81, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 23, 27, 52, 194, 201, 203, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 90, 117, 168, 371, 422, 433, 641, 642] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 340, 362, 76, 77, 80, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 931, 967, 973, 999, 7, 8, 24, 34, 213, 281, 294, 552, 578, 591, 659, 663, 681, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928, 88, 121, 129, 130, 143, 145, 149, 174, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 760, 761, 768] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(75, SumMonoid(36808)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(20, SumMonoid(2347)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(20, SumMonoid(8279)) }, Fingerprint { range: Range(544, 760), fp: EncodedCountingMonoid(18, SumMonoid(11525)) }, Fingerprint { range: Range(760, 1000), fp: EncodedCountingMonoid(17, SumMonoid(14657)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 760), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(760, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 88), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(88, 189), fp: EncodedCountingMonoid(8, SumMonoid(1079)) }, Fingerprint { range: Range(246, 340), fp: EncodedCountingMonoid(3, SumMonoid(806)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 760), fp: EncodedCountingMonoid(5, SumMonoid(3548)) }, Fingerprint { range: Range(760, 806), fp: EncodedCountingMonoid(5, SumMonoid(3836)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(102)) }, Fingerprint { range: Range(246, 289), fp: EncodedCountingMonoid(6, SumMonoid(1598)) }, Fingerprint { range: Range(289, 340), fp: EncodedCountingMonoid(6, SumMonoid(1885)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 760), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(760, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(59, 88), items: [59, 81], want_response: true }, ItemSet { range: Range(88, 168), items: [90, 117], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(760, 770), fp: EncodedCountingMonoid(3, SumMonoid(2289)) }], item_sets: [ItemSet { range: Range(59, 88), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(88, 168), items: [88, 121, 129, 130, 143, 145, 149], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(7, 24), items: [7, 8], want_response: true }, ItemSet { range: Range(24, 59), items: [24, 34], want_response: true }, ItemSet { range: Range(246, 289), items: [246, 266], want_response: true }, ItemSet { range: Range(289, 340), items: [294], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 81, 90, 117, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 24), items: [23], want_response: false }, ItemSet { range: Range(24, 59), items: [27, 52], want_response: false }, ItemSet { range: Range(246, 289), items: [249, 264, 266, 270, 272, 277], want_response: false }, ItemSet { range: Range(289, 340), items: [289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(760, 770), items: [], want_response: true }], wants: [76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 481, 482, 483, 514, 520, 522, 526, 611, 931, 967, 973, 999, 7, 8, 24, 34, 246, 294, 552, 578, 591, 659, 663, 681, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (355, true), (81, true), (90, true), (117, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(370, 377), items: [376], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(760, 770), items: [760, 761, 768], want_response: false }], wants: [23, 27, 52, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 370, 371, 422, 433, 641, 642], provide: [(76, true), (77, true), (80, true), (88, true), (121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (931, true), (967, true), (973, true), (999, true), (7, true), (8, true), (24, true), (34, true), (246, true), (294, true), (552, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (758, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 760, 761, 768], provide: [(23, true), (27, true), (52, true), (249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (370, true), (371, true), (422, true), (433, true), (641, true), (642, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (648, true), (652, true), (657, true), (760, true), (761, true), (768, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 81, 90, 117, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 23, 27, 52, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 370, 371, 422, 433, 641, 642] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 340, 362, 76, 77, 80, 88, 121, 129, 130, 143, 145, 149, 174, 481, 482, 483, 514, 520, 522, 526, 611, 931, 967, 973, 999, 7, 8, 24, 34, 246, 294, 552, 578, 591, 659, 663, 681, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 760, 761, 768] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(74, SumMonoid(36720)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(20, SumMonoid(2505)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(19, SumMonoid(8033)) }, Fingerprint { range: Range(544, 760), fp: EncodedCountingMonoid(18, SumMonoid(11525)) }, Fingerprint { range: Range(760, 1000), fp: EncodedCountingMonoid(17, SumMonoid(14657)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 760), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(760, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(121, 194), fp: EncodedCountingMonoid(7, SumMonoid(991)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 681), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(681, 760), fp: EncodedCountingMonoid(5, SumMonoid(3548)) }, Fingerprint { range: Range(760, 806), fp: EncodedCountingMonoid(5, SumMonoid(3836)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 340), items: [266, 294], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(681, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 760), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(760, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(266, 340), items: [266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(121, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(189, 194), items: [189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 681), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 294, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(4, SumMonoid(73)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(4, SumMonoid(292)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(641, 659), fp: EncodedCountingMonoid(3, SumMonoid(1957)) }, Fingerprint { range: Range(760, 770), fp: EncodedCountingMonoid(3, SumMonoid(2289)) }], item_sets: [ItemSet { range: Range(121, 189), items: [121, 129, 130, 143, 145, 149, 174], want_response: false }, ItemSet { range: Range(189, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 681), items: [], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(659, 664), items: [659, 663], want_response: true }, ItemSet { range: Range(681, 690), items: [681, 688], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 168, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(233, true), (246, true), (294, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(681, 690), items: [], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: true }, ItemSet { range: Range(760, 770), items: [], want_response: true }], wants: [121, 129, 130, 143, 145, 149, 174, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 931, 967, 973, 999, 213, 552, 578, 591, 659, 663, 681, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (168, true), (178, true), (189, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(641, 659), items: [648, 652, 657], want_response: false }, ItemSet { range: Range(760, 770), items: [760, 761, 768], want_response: false }], wants: [81, 90, 117, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 371, 422, 433, 641, 642], provide: [(121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (931, true), (967, true), (973, true), (999, true), (213, true), (552, true), (578, true), (591, true), (659, true), (663, true), (681, true), (688, true), (690, true), (731, true), (758, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 34, 76, 77, 80, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 760, 761, 768], provide: [(81, true), (90, true), (117, true), (194, true), (201, true), (203, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true), (371, true), (422, true), (433, true), (641, true), (642, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (80, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (648, true), (652, true), (657, true), (760, true), (761, true), (768, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 663, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 168, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 81, 90, 117, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 371, 422, 433, 641, 642] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 294, 340, 362, 121, 129, 130, 143, 145, 149, 174, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 931, 967, 973, 999, 213, 552, 578, 591, 659, 663, 681, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 34, 76, 77, 80, 376, 385, 397, 413, 423, 430, 442, 648, 652, 657, 760, 761, 768] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(73, SumMonoid(36057)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(20, SumMonoid(2505)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(19, SumMonoid(8033)) }, Fingerprint { range: Range(544, 760), fp: EncodedCountingMonoid(17, SumMonoid(10862)) }, Fingerprint { range: Range(760, 1000), fp: EncodedCountingMonoid(17, SumMonoid(14657)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 760), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(760, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(8, SumMonoid(365)) }, Fingerprint { range: Range(121, 194), fp: EncodedCountingMonoid(7, SumMonoid(991)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 688), fp: EncodedCountingMonoid(5, SumMonoid(3297)) }, Fingerprint { range: Range(688, 760), fp: EncodedCountingMonoid(4, SumMonoid(2867)) }, Fingerprint { range: Range(760, 806), fp: EncodedCountingMonoid(5, SumMonoid(3836)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 340), items: [266, 294], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(688, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 760), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(760, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(266, 340), items: [266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(121, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(189, 194), items: [189], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 688), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 294, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(4, SumMonoid(73)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(4, SumMonoid(292)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(760, 770), fp: EncodedCountingMonoid(3, SumMonoid(2289)) }], item_sets: [ItemSet { range: Range(121, 189), items: [121, 129, 130, 143, 145, 149, 174], want_response: false }, ItemSet { range: Range(189, 194), items: [], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 688), items: [681], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 657), items: [648, 652], want_response: true }, ItemSet { range: Range(657, 664), items: [657, 659], want_response: true }, ItemSet { range: Range(688, 703), items: [688, 690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 168, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(233, true), (246, true), (294, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 657), items: [641, 642], want_response: false }, ItemSet { range: Range(657, 664), items: [660], want_response: false }, ItemSet { range: Range(688, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(760, 770), items: [], want_response: true }], wants: [121, 129, 130, 143, 145, 149, 174, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 931, 967, 973, 999, 213, 552, 578, 591, 648, 652, 657, 659, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (168, true), (178, true), (189, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 77, 80], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(760, 770), items: [760, 761, 768], want_response: false }], wants: [81, 90, 117, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 371, 422, 433], provide: [(121, true), (129, true), (130, true), (143, true), (145, true), (149, true), (174, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (931, true), (967, true), (973, true), (999, true), (213, true), (552, true), (578, true), (591, true), (648, true), (652, true), (657, true), (659, true), (688, true), (690, true), (731, true), (758, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 8, 24, 34, 76, 77, 80, 376, 385, 397, 413, 423, 430, 442, 760, 761, 768], provide: [(81, true), (90, true), (117, true), (194, true), (201, true), (203, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (80, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (760, true), (761, true), (768, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 143, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 168, 178, 189, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 81, 90, 117, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 294, 340, 362, 121, 129, 130, 143, 145, 149, 174, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 931, 967, 973, 999, 213, 552, 578, 591, 648, 652, 657, 659, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928, 7, 8, 24, 34, 76, 77, 80, 376, 385, 397, 413, 423, 430, 442, 760, 761, 768] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(72, SumMonoid(35914)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(19, SumMonoid(2362)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(19, SumMonoid(8033)) }, Fingerprint { range: Range(544, 760), fp: EncodedCountingMonoid(17, SumMonoid(10862)) }, Fingerprint { range: Range(760, 1000), fp: EncodedCountingMonoid(17, SumMonoid(14657)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 760), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(760, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 194), fp: EncodedCountingMonoid(7, SumMonoid(928)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 688), fp: EncodedCountingMonoid(5, SumMonoid(3297)) }, Fingerprint { range: Range(688, 760), fp: EncodedCountingMonoid(4, SumMonoid(2867)) }, Fingerprint { range: Range(760, 806), fp: EncodedCountingMonoid(5, SumMonoid(3836)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 340), items: [266, 294], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(168, 194), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(688, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 760), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(760, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(266, 340), items: [266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 688), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 294, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 130), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(130, 168), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(760, 770), fp: EncodedCountingMonoid(3, SumMonoid(2289)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 688), items: [681], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(168, 194), items: [174], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 657), items: [648, 652], want_response: true }, ItemSet { range: Range(657, 664), items: [657, 659], want_response: true }, ItemSet { range: Range(688, 703), items: [688, 690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 23, 27, 52, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(233, true), (246, true), (294, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(168, 194), items: [168, 178, 189], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 657), items: [641, 642], want_response: false }, ItemSet { range: Range(657, 664), items: [660], want_response: false }, ItemSet { range: Range(688, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 130), items: [117], want_response: true }, ItemSet { range: Range(130, 168), items: [], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(760, 770), items: [], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 931, 967, 973, 999, 174, 213, 552, 578, 591, 648, 652, 657, 659, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (23, true), (27, true), (52, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 130), items: [121, 129], want_response: false }, ItemSet { range: Range(130, 168), items: [130, 145, 149], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(760, 770), items: [760, 761, 768], want_response: false }], wants: [168, 178, 189, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (931, true), (967, true), (973, true), (999, true), (174, true), (213, true), (552, true), (578, true), (591, true), (648, true), (652, true), (657, true), (659, true), (688, true), (690, true), (731, true), (758, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 423, 430, 442, 760, 761, 768], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (81, true), (90, true), (117, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (130, true), (145, true), (149, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (760, true), (761, true), (768, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 23, 27, 52, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 168, 178, 189, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 294, 340, 362, 7, 8, 24, 34, 76, 77, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 931, 967, 973, 999, 174, 213, 552, 578, 591, 648, 652, 657, 659, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928, 80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 423, 430, 442, 760, 761, 768] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(72, SumMonoid(35914)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(19, SumMonoid(2362)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(19, SumMonoid(8033)) }, Fingerprint { range: Range(544, 760), fp: EncodedCountingMonoid(17, SumMonoid(10862)) }, Fingerprint { range: Range(760, 1000), fp: EncodedCountingMonoid(17, SumMonoid(14657)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 760), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(760, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 194), fp: EncodedCountingMonoid(7, SumMonoid(928)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 688), fp: EncodedCountingMonoid(5, SumMonoid(3297)) }, Fingerprint { range: Range(688, 760), fp: EncodedCountingMonoid(4, SumMonoid(2867)) }, Fingerprint { range: Range(760, 806), fp: EncodedCountingMonoid(5, SumMonoid(3836)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 340), items: [266, 294], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(168, 194), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(688, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 760), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(760, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(266, 340), items: [266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 688), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 294, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 130), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(130, 168), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }, Fingerprint { range: Range(760, 770), fp: EncodedCountingMonoid(3, SumMonoid(2289)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 688), items: [681], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(168, 194), items: [174], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 657), items: [648, 652], want_response: true }, ItemSet { range: Range(657, 664), items: [657, 659], want_response: true }, ItemSet { range: Range(688, 703), items: [688, 690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 23, 27, 52, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(233, true), (246, true), (294, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(168, 194), items: [168, 178, 189], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 657), items: [641, 642], want_response: false }, ItemSet { range: Range(657, 664), items: [660], want_response: false }, ItemSet { range: Range(688, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 130), items: [117], want_response: true }, ItemSet { range: Range(130, 168), items: [], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(760, 770), items: [], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 931, 967, 973, 999, 174, 213, 552, 578, 591, 648, 652, 657, 659, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (23, true), (27, true), (52, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 130), items: [121, 129], want_response: false }, ItemSet { range: Range(130, 168), items: [130, 145, 149], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }, ItemSet { range: Range(760, 770), items: [760, 761, 768], want_response: false }], wants: [168, 178, 189, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (931, true), (967, true), (973, true), (999, true), (174, true), (213, true), (552, true), (578, true), (591, true), (648, true), (652, true), (657, true), (659, true), (688, true), (690, true), (731, true), (758, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 423, 430, 442, 760, 761, 768], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (81, true), (90, true), (117, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (130, true), (145, true), (149, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true), (760, true), (761, true), (768, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 652, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 23, 27, 52, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 168, 178, 189, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 294, 340, 362, 7, 8, 24, 34, 76, 77, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 931, 967, 973, 999, 174, 213, 552, 578, 591, 648, 652, 657, 659, 688, 690, 731, 758, 777, 806, 825, 829, 845, 901, 903, 914, 928, 80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 423, 430, 442, 760, 761, 768] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(71, SumMonoid(35262)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(19, SumMonoid(2362)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(19, SumMonoid(8033)) }, Fingerprint { range: Range(544, 761), fp: EncodedCountingMonoid(17, SumMonoid(10970)) }, Fingerprint { range: Range(761, 1000), fp: EncodedCountingMonoid(16, SumMonoid(13897)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 194), fp: EncodedCountingMonoid(7, SumMonoid(928)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(8, SumMonoid(3243)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(5, SumMonoid(3333)) }, Fingerprint { range: Range(690, 761), fp: EncodedCountingMonoid(4, SumMonoid(2939)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(4, SumMonoid(3076)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 340), items: [266, 294], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(168, 194), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 761), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(266, 340), items: [266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 294, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 130), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(130, 168), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(4, SumMonoid(1708)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 690), items: [681, 688], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(168, 194), items: [174], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 659), items: [648, 657], want_response: true }, ItemSet { range: Range(659, 664), items: [659], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(760, 761), items: [760], want_response: true }, ItemSet { range: Range(761, 770), items: [761, 768], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 23, 27, 52, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(233, true), (246, true), (294, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(168, 194), items: [168, 178, 189], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(760, 761), items: [], want_response: false }, ItemSet { range: Range(761, 770), items: [], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 130), items: [117], want_response: true }, ItemSet { range: Range(130, 168), items: [], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 174, 213, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (23, true), (27, true), (52, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 130), items: [121, 129], want_response: false }, ItemSet { range: Range(130, 168), items: [130, 145, 149], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 423, 430, 442], want_response: false }], wants: [168, 178, 189, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (688, true), (931, true), (967, true), (973, true), (999, true), (174, true), (213, true), (552, true), (578, true), (591, true), (648, true), (657, true), (659, true), (690, true), (731, true), (758, true), (760, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 423, 430, 442], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (81, true), (90, true), (117, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (130, true), (145, true), (149, true), (376, true), (385, true), (397, true), (413, true), (423, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 423, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 23, 27, 52, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 168, 178, 189, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 294, 340, 362, 7, 8, 24, 34, 76, 77, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 174, 213, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928, 80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 423, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(70, SumMonoid(34839)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 266), fp: EncodedCountingMonoid(19, SumMonoid(2362)) }, Fingerprint { range: Range(266, 544), fp: EncodedCountingMonoid(18, SumMonoid(7610)) }, Fingerprint { range: Range(544, 761), fp: EncodedCountingMonoid(17, SumMonoid(10970)) }, Fingerprint { range: Range(761, 1000), fp: EncodedCountingMonoid(16, SumMonoid(13897)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 194), fp: EncodedCountingMonoid(10, SumMonoid(984)) }, Fingerprint { range: Range(194, 266), fp: EncodedCountingMonoid(10, SumMonoid(2279)) }, Fingerprint { range: Range(266, 371), fp: EncodedCountingMonoid(12, SumMonoid(3695)) }, Fingerprint { range: Range(371, 544), fp: EncodedCountingMonoid(11, SumMonoid(4985)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 194), fp: EncodedCountingMonoid(7, SumMonoid(928)) }, Fingerprint { range: Range(194, 233), fp: EncodedCountingMonoid(3, SumMonoid(670)) }, Fingerprint { range: Range(371, 481), fp: EncodedCountingMonoid(7, SumMonoid(2820)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(7, SumMonoid(3528)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(5, SumMonoid(3333)) }, Fingerprint { range: Range(690, 761), fp: EncodedCountingMonoid(4, SumMonoid(2939)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(4, SumMonoid(3076)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(233, 266), items: [233, 246], want_response: true }, ItemSet { range: Range(266, 340), items: [266, 294], want_response: true }, ItemSet { range: Range(340, 371), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(168, 194), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(194, 217), fp: EncodedCountingMonoid(3, SumMonoid(598)) }, Fingerprint { range: Range(371, 454), fp: EncodedCountingMonoid(4, SumMonoid(1603)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 761), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(233, 266), items: [240, 243, 245, 249, 264], want_response: false }, ItemSet { range: Range(266, 340), items: [266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(340, 371), items: [355, 370], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(217, 233), items: [217, 223], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [233, 246, 294, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 130), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(130, 168), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(371, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(217, 233), items: [225, 232], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 483, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 690), items: [681, 688], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(168, 194), items: [174], want_response: true }, ItemSet { range: Range(194, 217), items: [213], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 659), items: [648, 657], want_response: true }, ItemSet { range: Range(659, 664), items: [659], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(760, 761), items: [760], want_response: true }, ItemSet { range: Range(761, 770), items: [761, 768], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 23, 27, 52, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(233, true), (246, true), (294, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(168, 194), items: [168, 178, 189], want_response: false }, ItemSet { range: Range(194, 217), items: [194, 201, 203], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(760, 761), items: [], want_response: false }, ItemSet { range: Range(761, 770), items: [], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 130), items: [117], want_response: true }, ItemSet { range: Range(130, 168), items: [], want_response: true }, ItemSet { range: Range(371, 413), items: [371, 377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 174, 213, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (23, true), (27, true), (52, true), (217, true), (223, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 130), items: [121, 129], want_response: false }, ItemSet { range: Range(130, 168), items: [130, 145, 149], want_response: false }, ItemSet { range: Range(371, 413), items: [376, 377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [168, 178, 189, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (225, true), (232, true), (481, true), (482, true), (483, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (688, true), (931, true), (967, true), (973, true), (999, true), (174, true), (213, true), (552, true), (578, true), (591, true), (648, true), (657, true), (659, true), (690, true), (731, true), (758, true), (760, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 430, 442], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (81, true), (90, true), (117, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (130, true), (145, true), (149, true), (376, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 430, 442, 481, 482, 483, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 23, 27, 52, 217, 223, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 168, 178, 189, 194, 201, 203, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [233, 246, 294, 340, 362, 7, 8, 24, 34, 76, 77, 225, 232, 481, 482, 483, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 174, 213, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928, 80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(69, SumMonoid(34356)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(18, SumMonoid(2116)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(18, SumMonoid(7373)) }, Fingerprint { range: Range(544, 761), fp: EncodedCountingMonoid(17, SumMonoid(10970)) }, Fingerprint { range: Range(761, 1000), fp: EncodedCountingMonoid(16, SumMonoid(13897)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(7, SumMonoid(928)) }, Fingerprint { range: Range(246, 340), fp: EncodedCountingMonoid(3, SumMonoid(806)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(7, SumMonoid(2820)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(5, SumMonoid(3333)) }, Fingerprint { range: Range(690, 761), fp: EncodedCountingMonoid(4, SumMonoid(2939)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(4, SumMonoid(3076)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(246, 289), fp: EncodedCountingMonoid(6, SumMonoid(1598)) }, Fingerprint { range: Range(289, 340), fp: EncodedCountingMonoid(6, SumMonoid(1885)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 761), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 130), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(130, 168), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(4, SumMonoid(1535)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 690), items: [681, 688], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(246, 289), items: [246, 266], want_response: true }, ItemSet { range: Range(289, 340), items: [294], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 659), items: [648, 657], want_response: true }, ItemSet { range: Range(659, 664), items: [659], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(760, 761), items: [760], want_response: true }, ItemSet { range: Range(761, 770), items: [761, 768], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(246, 289), items: [249, 264, 266, 270, 272, 277], want_response: false }, ItemSet { range: Range(289, 340), items: [289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(760, 761), items: [], want_response: false }, ItemSet { range: Range(761, 770), items: [], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 130), items: [117], want_response: true }, ItemSet { range: Range(130, 168), items: [], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 246, 294, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 130), items: [121, 129], want_response: false }, ItemSet { range: Range(130, 168), items: [130, 145, 149], want_response: false }, ItemSet { range: Range(370, 377), items: [376], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (688, true), (931, true), (967, true), (973, true), (999, true), (246, true), (294, true), (552, true), (578, true), (591, true), (648, true), (657, true), (659, true), (690, true), (731, true), (758, true), (760, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 430, 442], provide: [(249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (130, true), (145, true), (149, true), (376, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 376, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 246, 294, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928, 80, 121, 129, 130, 145, 149, 376, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(68, SumMonoid(33980)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(18, SumMonoid(2116)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(17, SumMonoid(6997)) }, Fingerprint { range: Range(544, 761), fp: EncodedCountingMonoid(17, SumMonoid(10970)) }, Fingerprint { range: Range(761, 1000), fp: EncodedCountingMonoid(16, SumMonoid(13897)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(7, SumMonoid(928)) }, Fingerprint { range: Range(246, 340), fp: EncodedCountingMonoid(3, SumMonoid(806)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(5, SumMonoid(3333)) }, Fingerprint { range: Range(690, 761), fp: EncodedCountingMonoid(4, SumMonoid(2939)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(4, SumMonoid(3076)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(246, 289), fp: EncodedCountingMonoid(6, SumMonoid(1598)) }, Fingerprint { range: Range(289, 340), fp: EncodedCountingMonoid(6, SumMonoid(1885)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 761), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 130), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(130, 168), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 690), items: [681, 688], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(246, 289), items: [246, 266], want_response: true }, ItemSet { range: Range(289, 340), items: [294], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 659), items: [648, 657], want_response: true }, ItemSet { range: Range(659, 664), items: [659], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(760, 761), items: [760], want_response: true }, ItemSet { range: Range(761, 770), items: [761, 768], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(246, 289), items: [249, 264, 266, 270, 272, 277], want_response: false }, ItemSet { range: Range(289, 340), items: [289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(760, 761), items: [], want_response: false }, ItemSet { range: Range(761, 770), items: [], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 130), items: [117], want_response: true }, ItemSet { range: Range(130, 168), items: [], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 246, 294, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 130), items: [121, 129], want_response: false }, ItemSet { range: Range(130, 168), items: [130, 145, 149], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (688, true), (931, true), (967, true), (973, true), (999, true), (246, true), (294, true), (552, true), (578, true), (591, true), (648, true), (657, true), (659, true), (690, true), (731, true), (758, true), (760, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 130, 145, 149, 385, 397, 413, 430, 442], provide: [(249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (130, true), (145, true), (149, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 130, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 246, 294, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928, 80, 121, 129, 130, 145, 149, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(67, SumMonoid(33850)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(17, SumMonoid(1986)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(17, SumMonoid(6997)) }, Fingerprint { range: Range(544, 761), fp: EncodedCountingMonoid(17, SumMonoid(10970)) }, Fingerprint { range: Range(761, 1000), fp: EncodedCountingMonoid(16, SumMonoid(13897)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(246, 340), fp: EncodedCountingMonoid(3, SumMonoid(806)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(5, SumMonoid(3333)) }, Fingerprint { range: Range(690, 761), fp: EncodedCountingMonoid(4, SumMonoid(2939)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(4, SumMonoid(3076)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(246, 289), fp: EncodedCountingMonoid(6, SumMonoid(1598)) }, Fingerprint { range: Range(289, 340), fp: EncodedCountingMonoid(6, SumMonoid(1885)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 761), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 690), items: [681, 688], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(246, 289), items: [246, 266], want_response: true }, ItemSet { range: Range(289, 340), items: [294], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 659), items: [648, 657], want_response: true }, ItemSet { range: Range(659, 664), items: [659], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 760), items: [731, 758], want_response: true }, ItemSet { range: Range(760, 761), items: [760], want_response: true }, ItemSet { range: Range(761, 770), items: [761, 768], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(246, 289), items: [249, 264, 266, 270, 272, 277], want_response: false }, ItemSet { range: Range(289, 340), items: [289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 760), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(760, 761), items: [], want_response: false }, ItemSet { range: Range(761, 770), items: [], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (688, true), (931, true), (967, true), (973, true), (999, true), (145, true), (149, true), (246, true), (294, true), (552, true), (578, true), (591, true), (648, true), (657, true), (659, true), (690, true), (731, true), (758, true), (760, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 731, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 688, 931, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 659, 690, 731, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(66, SumMonoid(33119)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(17, SumMonoid(1986)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(17, SumMonoid(6997)) }, Fingerprint { range: Range(544, 761), fp: EncodedCountingMonoid(16, SumMonoid(10239)) }, Fingerprint { range: Range(761, 1000), fp: EncodedCountingMonoid(16, SumMonoid(13897)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(246, 340), fp: EncodedCountingMonoid(3, SumMonoid(806)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 688), fp: EncodedCountingMonoid(4, SumMonoid(2645)) }, Fingerprint { range: Range(688, 761), fp: EncodedCountingMonoid(4, SumMonoid(2896)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(4, SumMonoid(3076)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(4, SumMonoid(3646)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3870)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(246, 289), fp: EncodedCountingMonoid(6, SumMonoid(1598)) }, Fingerprint { range: Range(289, 340), fp: EncodedCountingMonoid(6, SumMonoid(1885)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(688, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 761), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 688), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(931, 977), items: [936, 963], want_response: true }, ItemSet { range: Range(977, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 688), items: [681], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(931, 977), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(977, 1000), items: [999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(246, 289), items: [246, 266], want_response: true }, ItemSet { range: Range(289, 340), items: [294], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 659), items: [648, 657], want_response: true }, ItemSet { range: Range(659, 664), items: [659], want_response: true }, ItemSet { range: Range(688, 703), items: [688, 690], want_response: true }, ItemSet { range: Range(703, 761), items: [758, 760], want_response: true }, ItemSet { range: Range(761, 770), items: [761, 768], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 914), items: [901, 903], want_response: true }, ItemSet { range: Range(914, 922), items: [914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(246, 289), items: [249, 264, 266, 270, 272, 277], want_response: false }, ItemSet { range: Range(289, 340), items: [289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(688, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 761), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(761, 770), items: [], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 914), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(914, 922), items: [], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 931, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 659, 688, 690, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (931, true), (967, true), (973, true), (999, true), (145, true), (149, true), (246, true), (294, true), (552, true), (578, true), (591, true), (648, true), (657, true), (659, true), (688, true), (690, true), (758, true), (760, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (903, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 903, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 936, 963, 977, 990, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 931, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 659, 688, 690, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 903, 914, 928, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(65, SumMonoid(32216)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(17, SumMonoid(1986)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(17, SumMonoid(6997)) }, Fingerprint { range: Range(544, 761), fp: EncodedCountingMonoid(16, SumMonoid(10239)) }, Fingerprint { range: Range(761, 1000), fp: EncodedCountingMonoid(15, SumMonoid(12994)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(246, 340), fp: EncodedCountingMonoid(3, SumMonoid(806)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 688), fp: EncodedCountingMonoid(4, SumMonoid(2645)) }, Fingerprint { range: Range(688, 761), fp: EncodedCountingMonoid(4, SumMonoid(2896)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(4, SumMonoid(3076)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(246, 289), fp: EncodedCountingMonoid(6, SumMonoid(1598)) }, Fingerprint { range: Range(289, 340), fp: EncodedCountingMonoid(6, SumMonoid(1885)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(688, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 761), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 688), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 688), items: [681], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(246, 289), items: [246, 266], want_response: true }, ItemSet { range: Range(289, 340), items: [294], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 659), items: [648, 657], want_response: true }, ItemSet { range: Range(659, 664), items: [659], want_response: true }, ItemSet { range: Range(688, 703), items: [688, 690], want_response: true }, ItemSet { range: Range(703, 761), items: [758, 760], want_response: true }, ItemSet { range: Range(761, 770), items: [761, 768], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(246, 289), items: [249, 264, 266, 270, 272, 277], want_response: false }, ItemSet { range: Range(289, 340), items: [289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 659), items: [641, 642], want_response: false }, ItemSet { range: Range(659, 664), items: [660], want_response: false }, ItemSet { range: Range(688, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 761), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(761, 770), items: [], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 659, 688, 690, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (967, true), (973, true), (999, true), (145, true), (149, true), (246, true), (294, true), (552, true), (578, true), (591, true), (648, true), (657, true), (659, true), (688, true), (690, true), (758, true), (760, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 659, 681, 688, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 977, 990, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 659, 688, 690, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 688, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(64, SumMonoid(31557)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(17, SumMonoid(1986)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(17, SumMonoid(6997)) }, Fingerprint { range: Range(544, 761), fp: EncodedCountingMonoid(15, SumMonoid(9580)) }, Fingerprint { range: Range(761, 1000), fp: EncodedCountingMonoid(15, SumMonoid(12994)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(246, 340), fp: EncodedCountingMonoid(3, SumMonoid(806)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(4, SumMonoid(2674)) }, Fingerprint { range: Range(690, 761), fp: EncodedCountingMonoid(3, SumMonoid(2208)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(4, SumMonoid(3076)) }, Fingerprint { range: Range(806, 895), fp: EncodedCountingMonoid(4, SumMonoid(3305)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(246, 289), fp: EncodedCountingMonoid(6, SumMonoid(1598)) }, Fingerprint { range: Range(289, 340), fp: EncodedCountingMonoid(6, SumMonoid(1885)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 761), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(860, 895), fp: EncodedCountingMonoid(3, SumMonoid(2614)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 690), items: [681, 688], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(246, 289), items: [246, 266], want_response: true }, ItemSet { range: Range(289, 340), items: [294], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 761), items: [758, 760], want_response: true }, ItemSet { range: Range(761, 770), items: [761, 768], want_response: true }, ItemSet { range: Range(770, 801), items: [770, 777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829, 845], want_response: true }, ItemSet { range: Range(860, 895), items: [], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(246, 289), items: [249, 264, 266, 270, 272, 277], want_response: false }, ItemSet { range: Range(289, 340), items: [289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 761), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(761, 770), items: [], want_response: false }, ItemSet { range: Range(770, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(860, 895), items: [860, 862, 892], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 688, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 690, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (801, true), (802, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (688, true), (967, true), (973, true), (999, true), (145, true), (149, true), (246, true), (294, true), (552, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (760, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true), (845, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 688, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 801, 802, 977, 990, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 688, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 690, 758, 760, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(63, SumMonoid(30869)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(17, SumMonoid(1986)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(17, SumMonoid(6997)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(15, SumMonoid(9653)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(14, SumMonoid(12233)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(246, 340), fp: EncodedCountingMonoid(3, SumMonoid(806)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(4, SumMonoid(2676)) }, Fingerprint { range: Range(758, 768), fp: EncodedCountingMonoid(3, SumMonoid(2279)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(4, SumMonoid(3121)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(246, 289), fp: EncodedCountingMonoid(6, SumMonoid(1598)) }, Fingerprint { range: Range(289, 340), fp: EncodedCountingMonoid(6, SumMonoid(1885)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(758, 768), items: [], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(758, 768), items: [758, 760, 761], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(246, 289), items: [246, 266], want_response: true }, ItemSet { range: Range(289, 340), items: [294], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 681), items: [648, 657], want_response: true }, ItemSet { range: Range(681, 694), items: [681, 690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(768, 777), items: [768, 770], want_response: true }, ItemSet { range: Range(777, 802), items: [777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(246, 289), items: [249, 264, 266, 270, 272, 277], want_response: false }, ItemSet { range: Range(289, 340), items: [289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 681), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(681, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 777), items: [770, 774], want_response: false }, ItemSet { range: Range(777, 802), items: [780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 758, 760, 761, 825, 829, 845, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 681, 690, 768, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (758, true), (760, true), (761, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (246, true), (294, true), (552, true), (578, true), (591, true), (648, true), (657, true), (681, true), (690, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(249, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 266, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990, 249, 264, 270, 272, 277, 289, 297, 311, 317, 332, 339, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 758, 760, 761, 825, 829, 845, 967, 973, 999, 145, 149, 246, 294, 552, 578, 591, 648, 657, 681, 690, 768, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(62, SumMonoid(30603)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(17, SumMonoid(1986)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(16, SumMonoid(6731)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(15, SumMonoid(9653)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(14, SumMonoid(12233)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(4, SumMonoid(2676)) }, Fingerprint { range: Range(758, 768), fp: EncodedCountingMonoid(3, SumMonoid(2279)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(4, SumMonoid(3121)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(246, 340), items: [246, 294], want_response: true }, ItemSet { range: Range(340, 370), items: [340, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 232), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 340), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(340, 370), items: [355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(758, 768), items: [], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 246, 294, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(758, 768), items: [758, 760, 761], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 681), items: [648, 657], want_response: true }, ItemSet { range: Range(681, 694), items: [681, 690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(768, 777), items: [768, 770], want_response: true }, ItemSet { range: Range(777, 802), items: [777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (246, true), (294, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 681), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(681, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 777), items: [770, 774], want_response: false }, ItemSet { range: Range(777, 802), items: [780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 758, 760, 761, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 768, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (758, true), (760, true), (761, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (552, true), (578, true), (591, true), (648, true), (657, true), (681, true), (690, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 294, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 246, 294, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 758, 760, 761, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 768, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(61, SumMonoid(30309)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 233), fp: EncodedCountingMonoid(16, SumMonoid(1753)) }, Fingerprint { range: Range(233, 544), fp: EncodedCountingMonoid(16, SumMonoid(6670)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(15, SumMonoid(9653)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(14, SumMonoid(12233)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 233), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(233, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 544), fp: EncodedCountingMonoid(14, SumMonoid(6049)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 178), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(339, 442), fp: EncodedCountingMonoid(7, SumMonoid(2704)) }, Fingerprint { range: Range(442, 544), fp: EncodedCountingMonoid(7, SumMonoid(3487)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(4, SumMonoid(2676)) }, Fingerprint { range: Range(758, 768), fp: EncodedCountingMonoid(3, SumMonoid(2279)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(4, SumMonoid(3121)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(178, 232), items: [213, 225], want_response: true }, ItemSet { range: Range(232, 233), items: [232], want_response: true }, ItemSet { range: Range(233, 339), items: [233, 246], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(339, 377), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(442, 489), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(489, 544), fp: EncodedCountingMonoid(3, SumMonoid(1522)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(178, 232), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 233), items: [], want_response: false }, ItemSet { range: Range(233, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 178), items: [117, 168], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(758, 768), items: [], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [213, 225, 232, 233, 246], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(377, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 178), items: [121, 129, 145, 149, 174], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(758, 768), items: [758, 760, 761], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(339, 377), items: [340, 362], want_response: true }, ItemSet { range: Range(413, 442), items: [413, 430], want_response: true }, ItemSet { range: Range(442, 482), items: [442, 481], want_response: true }, ItemSet { range: Range(482, 489), items: [482], want_response: true }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: true }, ItemSet { range: Range(522, 544), items: [522, 526], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 681), items: [648, 657], want_response: true }, ItemSet { range: Range(681, 694), items: [681, 690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(768, 777), items: [768, 770], want_response: true }, ItemSet { range: Range(777, 802), items: [777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 23, 27, 52, 81, 90, 117, 168, 609, 628, 849, 860, 862, 892, 977, 990], provide: [(213, true), (225, true), (232, true), (233, true), (246, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(339, 377), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(413, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(482, 489), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: false }, ItemSet { range: Range(522, 544), items: [531], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 681), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(681, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 777), items: [770, 774], want_response: false }, ItemSet { range: Range(777, 802), items: [780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(377, 413), items: [377], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 80, 121, 129, 145, 149, 174, 611, 758, 760, 761, 825, 829, 845, 967, 973, 999, 340, 362, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 578, 591, 648, 657, 681, 690, 768, 777, 806, 901, 914, 928, 931], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (168, true), (609, true), (628, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }], wants: [339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (80, true), (121, true), (129, true), (145, true), (149, true), (174, true), (611, true), (758, true), (760, true), (761, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (340, true), (362, true), (413, true), (430, true), (442, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (552, true), (578, true), (591, true), (648, true), (657, true), (681, true), (690, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [385, 397], provide: [(339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(385, true), (397, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 213, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 23, 27, 52, 81, 90, 117, 168, 609, 628, 849, 860, 862, 892, 977, 990, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [213, 225, 232, 233, 246, 7, 8, 24, 34, 76, 77, 80, 121, 129, 145, 149, 174, 611, 758, 760, 761, 825, 829, 845, 967, 973, 999, 340, 362, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 578, 591, 648, 657, 681, 690, 768, 777, 806, 901, 914, 928, 931, 385, 397] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(60, SumMonoid(30096)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(16, SumMonoid(1773)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(15, SumMonoid(6437)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(15, SumMonoid(9653)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(14, SumMonoid(12233)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(4, SumMonoid(2676)) }, Fingerprint { range: Range(758, 768), fp: EncodedCountingMonoid(3, SumMonoid(2279)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(4, SumMonoid(3121)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 233), items: [225, 232], want_response: true }, ItemSet { range: Range(233, 246), items: [233], want_response: true }, ItemSet { range: Range(246, 362), items: [246, 340], want_response: true }, ItemSet { range: Range(362, 370), items: [362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 233), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 362), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(362, 370), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(758, 768), items: [], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [225, 232, 233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(758, 768), items: [758, 760, 761], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 681), items: [648, 657], want_response: true }, ItemSet { range: Range(681, 694), items: [681, 690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(768, 777), items: [768, 770], want_response: true }, ItemSet { range: Range(777, 802), items: [777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990], provide: [(225, true), (232, true), (233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 681), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(681, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 777), items: [770, 774], want_response: false }, ItemSet { range: Range(777, 802), items: [780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 758, 760, 761, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 768, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (758, true), (760, true), (761, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (552, true), (578, true), (591, true), (648, true), (657, true), (681, true), (690, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 760, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [225, 232, 233, 246, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 758, 760, 761, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 768, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(59, SumMonoid(29336)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(16, SumMonoid(1773)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(15, SumMonoid(6437)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(14, SumMonoid(8893)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(14, SumMonoid(12233)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(7, SumMonoid(285)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(4, SumMonoid(3121)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 233), items: [225, 232], want_response: true }, ItemSet { range: Range(233, 246), items: [233], want_response: true }, ItemSet { range: Range(246, 362), items: [246, 340], want_response: true }, ItemSet { range: Range(362, 370), items: [362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 233), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 362), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(362, 370), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [225, 232, 233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 8, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 777), items: [768, 770], want_response: true }, ItemSet { range: Range(777, 802), items: [777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990], provide: [(225, true), (232, true), (233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 777), items: [770, 774], want_response: false }, ItemSet { range: Range(777, 802), items: [780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (8, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (552, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 8, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [225, 232, 233, 246, 340, 362, 7, 8, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(58, SumMonoid(29328)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(15, SumMonoid(1765)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(15, SumMonoid(6437)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(14, SumMonoid(8893)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(14, SumMonoid(12233)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(4, SumMonoid(2415)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(4, SumMonoid(3121)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 233), items: [225, 232], want_response: true }, ItemSet { range: Range(233, 246), items: [233], want_response: true }, ItemSet { range: Range(246, 362), items: [246, 340], want_response: true }, ItemSet { range: Range(362, 370), items: [362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 233), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 362), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(362, 370), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [225, 232, 233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [611], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 777), items: [768, 770], want_response: true }, ItemSet { range: Range(777, 802), items: [777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990], provide: [(225, true), (232, true), (233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 777), items: [770, 774], want_response: false }, ItemSet { range: Range(777, 802), items: [780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (611, true), (681, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (552, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 611, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [225, 232, 233, 246, 340, 362, 7, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 611, 681, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(57, SumMonoid(28717)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(15, SumMonoid(1765)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(15, SumMonoid(6437)) }, Fingerprint { range: Range(544, 770), fp: EncodedCountingMonoid(14, SumMonoid(9050)) }, Fingerprint { range: Range(770, 1000), fp: EncodedCountingMonoid(13, SumMonoid(11465)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 770), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(770, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(370, 481), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(481, 544), fp: EncodedCountingMonoid(6, SumMonoid(3045)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(4, SumMonoid(2676)) }, Fingerprint { range: Range(758, 770), fp: EncodedCountingMonoid(3, SumMonoid(2287)) }, Fingerprint { range: Range(770, 825), fp: EncodedCountingMonoid(3, SumMonoid(2353)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 233), items: [225, 232], want_response: true }, ItemSet { range: Range(233, 246), items: [233], want_response: true }, ItemSet { range: Range(246, 362), items: [246, 340], want_response: true }, ItemSet { range: Range(362, 370), items: [362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 481), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(770, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 233), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 362), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(362, 370), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(481, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(758, 770), items: [], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [225, 232, 233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(481, 531), items: [481, 482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(758, 770), items: [758, 761, 768], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(454, 481), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 681), items: [648, 657], want_response: true }, ItemSet { range: Range(681, 694), items: [681, 690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(770, 802), items: [770, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990], provide: [(225, true), (232, true), (233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(454, 481), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 681), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(681, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(770, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 758, 761, 768, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (481, true), (482, true), (514, true), (520, true), (522, true), (526, true), (758, true), (761, true), (768, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (552, true), (578, true), (591, true), (648, true), (657, true), (681, true), (690, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 481, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [225, 232, 233, 246, 340, 362, 7, 24, 34, 76, 77, 174, 481, 482, 514, 520, 522, 526, 758, 761, 768, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(56, SumMonoid(28236)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(15, SumMonoid(1765)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(14, SumMonoid(5956)) }, Fingerprint { range: Range(544, 770), fp: EncodedCountingMonoid(14, SumMonoid(9050)) }, Fingerprint { range: Range(770, 1000), fp: EncodedCountingMonoid(13, SumMonoid(11465)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 770), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(770, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(370, 482), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(482, 544), fp: EncodedCountingMonoid(5, SumMonoid(2564)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(4, SumMonoid(2676)) }, Fingerprint { range: Range(758, 770), fp: EncodedCountingMonoid(3, SumMonoid(2287)) }, Fingerprint { range: Range(770, 825), fp: EncodedCountingMonoid(3, SumMonoid(2353)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 233), items: [225, 232], want_response: true }, ItemSet { range: Range(233, 246), items: [233], want_response: true }, ItemSet { range: Range(246, 362), items: [246, 340], want_response: true }, ItemSet { range: Range(362, 370), items: [362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 482), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(770, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 233), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 362), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(362, 370), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(758, 770), items: [], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [225, 232, 233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(758, 770), items: [758, 761, 768], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(454, 482), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 681), items: [648, 657], want_response: true }, ItemSet { range: Range(681, 694), items: [681, 690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(770, 802), items: [770, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990], provide: [(225, true), (232, true), (233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(454, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 681), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(681, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(770, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 758, 761, 768, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (482, true), (514, true), (520, true), (522, true), (526, true), (758, true), (761, true), (768, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (552, true), (578, true), (591, true), (648, true), (657, true), (681, true), (690, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [225, 232, 233, 246, 340, 362, 7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 758, 761, 768, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(56, SumMonoid(28236)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(15, SumMonoid(1765)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(14, SumMonoid(5956)) }, Fingerprint { range: Range(544, 770), fp: EncodedCountingMonoid(14, SumMonoid(9050)) }, Fingerprint { range: Range(770, 1000), fp: EncodedCountingMonoid(13, SumMonoid(11465)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 770), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(770, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(370, 482), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(482, 544), fp: EncodedCountingMonoid(5, SumMonoid(2564)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(4, SumMonoid(2676)) }, Fingerprint { range: Range(758, 770), fp: EncodedCountingMonoid(3, SumMonoid(2287)) }, Fingerprint { range: Range(770, 825), fp: EncodedCountingMonoid(3, SumMonoid(2353)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 233), items: [225, 232], want_response: true }, ItemSet { range: Range(233, 246), items: [233], want_response: true }, ItemSet { range: Range(246, 362), items: [246, 340], want_response: true }, ItemSet { range: Range(362, 370), items: [362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 482), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(770, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 233), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 362), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(362, 370), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(758, 770), items: [], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [225, 232, 233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(758, 770), items: [758, 761, 768], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(454, 482), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 681), items: [648, 657], want_response: true }, ItemSet { range: Range(681, 694), items: [681, 690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(770, 802), items: [770, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990], provide: [(225, true), (232, true), (233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(454, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 681), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(681, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(770, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 758, 761, 768, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (482, true), (514, true), (520, true), (522, true), (526, true), (758, true), (761, true), (768, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (552, true), (578, true), (591, true), (648, true), (657, true), (681, true), (690, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 770, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 849, 860, 862, 892, 977, 990, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [225, 232, 233, 246, 340, 362, 7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 758, 761, 768, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 681, 690, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(55, SumMonoid(27466)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(15, SumMonoid(1765)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(14, SumMonoid(5956)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(13, SumMonoid(8282)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(13, SumMonoid(11463)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(6, SumMonoid(798)) }, Fingerprint { range: Range(370, 482), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(482, 544), fp: EncodedCountingMonoid(5, SumMonoid(2564)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 233), items: [225, 232], want_response: true }, ItemSet { range: Range(233, 246), items: [233], want_response: true }, ItemSet { range: Range(246, 362), items: [246, 340], want_response: true }, ItemSet { range: Range(362, 370), items: [362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 482), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 233), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 362), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(362, 370), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [225, 232, 233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(80, 145), fp: EncodedCountingMonoid(3, SumMonoid(330)) }, Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(145, 168), items: [145, 149], want_response: true }, ItemSet { range: Range(454, 482), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990], provide: [(225, true), (232, true), (233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 168), items: [], want_response: false }, ItemSet { range: Range(454, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(80, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 145), items: [117], want_response: true }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 681, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 117), items: [80], want_response: false }, ItemSet { range: Range(117, 145), items: [121, 129], want_response: false }, ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (482, true), (514, true), (520, true), (522, true), (526, true), (681, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (145, true), (149, true), (552, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [80, 121, 129, 385, 397, 413, 430, 442], provide: [(454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (81, true), (90, true), (117, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(80, true), (121, true), (129, true), (385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 149, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 81, 90, 117, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [225, 232, 233, 246, 340, 362, 7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 681, 825, 829, 845, 967, 973, 999, 145, 149, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931, 80, 121, 129, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(54, SumMonoid(27317)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(14, SumMonoid(1616)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(14, SumMonoid(5956)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(13, SumMonoid(8282)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(13, SumMonoid(11463)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(5, SumMonoid(649)) }, Fingerprint { range: Range(370, 482), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(482, 544), fp: EncodedCountingMonoid(5, SumMonoid(2564)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 233), items: [225, 232], want_response: true }, ItemSet { range: Range(233, 246), items: [233], want_response: true }, ItemSet { range: Range(246, 362), items: [246, 340], want_response: true }, ItemSet { range: Range(362, 370), items: [362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 482), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 233), items: [189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 246), items: [240, 243, 245], want_response: false }, ItemSet { range: Range(246, 362), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(362, 370), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [225, 232, 233, 246, 340, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(80, 129), items: [80, 121], want_response: true }, ItemSet { range: Range(129, 168), items: [129, 145], want_response: true }, ItemSet { range: Range(454, 482), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990], provide: [(225, true), (232, true), (233, true), (246, true), (340, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 168), items: [], want_response: false }, ItemSet { range: Range(454, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 681, 825, 829, 845, 967, 973, 999, 80, 121, 129, 145, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [81, 90, 117, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (482, true), (514, true), (520, true), (522, true), (526, true), (681, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (80, true), (121, true), (129, true), (145, true), (552, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [385, 397, 413, 430, 442], provide: [(81, true), (90, true), (117, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 225, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990, 81, 90, 117, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [225, 232, 233, 246, 340, 362, 7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 681, 825, 829, 845, 967, 973, 999, 80, 121, 129, 145, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(53, SumMonoid(27092)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 340), fp: EncodedCountingMonoid(14, SumMonoid(1637)) }, Fingerprint { range: Range(340, 544), fp: EncodedCountingMonoid(13, SumMonoid(5710)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(13, SumMonoid(8282)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(13, SumMonoid(11463)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 240), fp: EncodedCountingMonoid(15, SumMonoid(2022)) }, Fingerprint { range: Range(240, 340), fp: EncodedCountingMonoid(15, SumMonoid(4211)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(7, SumMonoid(357)) }, Fingerprint { range: Range(121, 240), fp: EncodedCountingMonoid(6, SumMonoid(1034)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(240, 340), items: [246], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 201), fp: EncodedCountingMonoid(4, SumMonoid(729)) }, Fingerprint { range: Range(201, 240), fp: EncodedCountingMonoid(4, SumMonoid(844)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(240, 340), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [246], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 76), fp: EncodedCountingMonoid(4, SumMonoid(124)) }, Fingerprint { range: Range(76, 81), fp: EncodedCountingMonoid(3, SumMonoid(233)) }], item_sets: [ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 145), items: [121, 129], want_response: true }, ItemSet { range: Range(145, 201), items: [145, 174], want_response: true }, ItemSet { range: Range(201, 240), items: [232, 233], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990], provide: [(246, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 145), items: [], want_response: false }, ItemSet { range: Range(145, 201), items: [168, 178, 189, 194], want_response: false }, ItemSet { range: Range(201, 240), items: [201, 203, 217, 223], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 76), items: [52, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [], want_response: true }], wants: [681, 825, 829, 845, 967, 973, 999, 121, 129, 145, 174, 232, 233, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931], provide: [(240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 76), items: [59], want_response: false }, ItemSet { range: Range(76, 81), items: [76, 77, 80], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52], provide: [(681, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (121, true), (129, true), (145, true), (174, true), (232, true), (233, true), (552, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34, 76, 77, 80], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (80, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 232, 233, 246, 340, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 681, 825, 829, 845, 967, 973, 999, 121, 129, 145, 174, 232, 233, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931, 7, 24, 34, 76, 77, 80] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(52, SumMonoid(26752)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 544), fp: EncodedCountingMonoid(43, SumMonoid(11943)) }, Fingerprint { range: Range(544, 1000), fp: EncodedCountingMonoid(43, SumMonoid(32322)) }], item_sets: [ItemSet { range: Range(1000, 7), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(13, SumMonoid(1391)) }, Fingerprint { range: Range(246, 544), fp: EncodedCountingMonoid(13, SumMonoid(5616)) }, Fingerprint { range: Range(544, 768), fp: EncodedCountingMonoid(13, SumMonoid(8282)) }, Fingerprint { range: Range(768, 1000), fp: EncodedCountingMonoid(13, SumMonoid(11463)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 370), fp: EncodedCountingMonoid(13, SumMonoid(3838)) }, Fingerprint { range: Range(370, 544), fp: EncodedCountingMonoid(12, SumMonoid(5355)) }, Fingerprint { range: Range(544, 641), fp: EncodedCountingMonoid(11, SumMonoid(6418)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 895), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(895, 1000), fp: EncodedCountingMonoid(10, SumMonoid(9329)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(5, SumMonoid(649)) }, Fingerprint { range: Range(370, 482), fp: EncodedCountingMonoid(6, SumMonoid(2444)) }, Fingerprint { range: Range(482, 544), fp: EncodedCountingMonoid(5, SumMonoid(2564)) }, Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 895), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(895, 967), fp: EncodedCountingMonoid(4, SumMonoid(3674)) }, Fingerprint { range: Range(967, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2939)) }], item_sets: [ItemSet { range: Range(189, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(246, 370), items: [246, 362], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(370, 454), fp: EncodedCountingMonoid(5, SumMonoid(1973)) }, Fingerprint { range: Range(454, 482), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(895, 926), fp: EncodedCountingMonoid(4, SumMonoid(3610)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(189, 246), items: [189, 194, 201, 203, 217, 223, 240, 243, 245], want_response: false }, ItemSet { range: Range(246, 370), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(531, 544), items: [531], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 895), items: [862, 892], want_response: true }, ItemSet { range: Range(967, 1000), items: [977, 990], want_response: true }], wants: [232, 233, 246, 362], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(370, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(413, 454), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 514, 520, 522, 526], want_response: false }, ItemSet { range: Range(531, 544), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 895), items: [], want_response: false }, ItemSet { range: Range(967, 1000), items: [967, 973, 999], want_response: false }, ItemSet { range: Range(80, 129), items: [80, 121], want_response: true }, ItemSet { range: Range(129, 168), items: [129, 145], want_response: true }, ItemSet { range: Range(454, 482), items: [], want_response: true }, ItemSet { range: Range(544, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(895, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [928, 931], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990], provide: [(232, true), (233, true), (246, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 168), items: [], want_response: false }, ItemSet { range: Range(454, 482), items: [454, 459, 471, 476], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(895, 926), items: [895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(370, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 681, 825, 829, 845, 967, 973, 999, 80, 121, 129, 145, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (531, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (892, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(370, 377), items: [], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }], wants: [81, 90, 117, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (482, true), (514, true), (520, true), (522, true), (526, true), (681, true), (825, true), (829, true), (845, true), (967, true), (973, true), (999, true), (80, true), (121, true), (129, true), (145, true), (552, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [385, 397, 413, 430, 442], provide: [(81, true), (90, true), (117, true), (454, true), (459, true), (471, true), (476, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (370, true), (371, true), (422, true), (433, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(385, true), (397, true), (413, true), (430, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973, 999} + [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 23, 27, 52, 168, 178, 489, 502, 531, 609, 628, 664, 674, 849, 860, 862, 892, 977, 990, 81, 90, 117, 454, 459, 471, 476, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 246, 362, 7, 24, 34, 76, 77, 174, 482, 514, 520, 522, 526, 681, 825, 829, 845, 967, 973, 999, 80, 121, 129, 145, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 931, 385, 397, 413, 430, 442] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(51, SumMonoid(25753)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(13, SumMonoid(1391)) }, Fingerprint { range: Range(246, 531), fp: EncodedCountingMonoid(13, SumMonoid(5616)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(13, SumMonoid(8282)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(12, SumMonoid(10464)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 355), fp: EncodedCountingMonoid(12, SumMonoid(3483)) }, Fingerprint { range: Range(355, 531), fp: EncodedCountingMonoid(12, SumMonoid(5179)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(5, SumMonoid(649)) }, Fingerprint { range: Range(355, 442), fp: EncodedCountingMonoid(6, SumMonoid(2364)) }, Fingerprint { range: Range(442, 531), fp: EncodedCountingMonoid(6, SumMonoid(3006)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(4, SumMonoid(2283)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(3, SumMonoid(2743)) }, Fingerprint { range: Range(931, 974), fp: EncodedCountingMonoid(3, SumMonoid(2871)) }], item_sets: [ItemSet { range: Range(189, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(246, 355), items: [246], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(355, 377), fp: EncodedCountingMonoid(3, SumMonoid(1096)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(442, 476), fp: EncodedCountingMonoid(3, SumMonoid(1384)) }, Fingerprint { range: Range(476, 531), fp: EncodedCountingMonoid(3, SumMonoid(1467)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(189, 246), items: [189, 194, 201, 203, 217, 223, 240, 243, 245], want_response: false }, ItemSet { range: Range(246, 355), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }, ItemSet { range: Range(931, 974), items: [936, 963], want_response: true }], wants: [232, 233, 246], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(377, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(476, 522), fp: EncodedCountingMonoid(3, SumMonoid(1516)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(931, 974), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(80, 129), items: [80, 121], want_response: true }, ItemSet { range: Range(129, 168), items: [129, 145], want_response: true }, ItemSet { range: Range(355, 377), items: [362], want_response: true }, ItemSet { range: Range(413, 442), items: [413, 430], want_response: true }, ItemSet { range: Range(442, 476), items: [442], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(531, 567), items: [552, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(892, 922), items: [901, 914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 23, 27, 52, 168, 178, 609, 628, 664, 674, 849, 860, 862, 936, 963], provide: [(232, true), (233, true), (246, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 168), items: [], want_response: false }, ItemSet { range: Range(355, 377), items: [355, 370, 371], want_response: false }, ItemSet { range: Range(413, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 476), items: [454, 459, 471], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(892, 922), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(476, 502), items: [476, 489], want_response: true }, ItemSet { range: Range(502, 522), items: [502], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 681, 825, 829, 845, 931, 967, 973, 80, 121, 129, 145, 362, 413, 430, 442, 522, 526, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (23, true), (27, true), (52, true), (168, true), (178, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(476, 502), items: [482], want_response: false }, ItemSet { range: Range(502, 522), items: [514, 520], want_response: false }], wants: [81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 476, 489, 502], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (681, true), (825, true), (829, true), (845, true), (931, true), (967, true), (973, true), (80, true), (121, true), (129, true), (145, true), (362, true), (413, true), (430, true), (442, true), (522, true), (526, true), (552, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [385, 397, 482, 514, 520], provide: [(81, true), (90, true), (117, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(385, true), (397, true), (482, true), (514, true), (520, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 552, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} + [977, 990, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 23, 27, 52, 168, 178, 609, 628, 664, 674, 849, 860, 862, 936, 963, 81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 476, 489, 502] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 246, 7, 24, 34, 76, 77, 174, 681, 825, 829, 845, 931, 967, 973, 80, 121, 129, 145, 362, 413, 430, 442, 522, 526, 552, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 385, 397, 482, 514, 520] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(50, SumMonoid(25201)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(13, SumMonoid(1391)) }, Fingerprint { range: Range(246, 531), fp: EncodedCountingMonoid(13, SumMonoid(5616)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(12, SumMonoid(7730)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(12, SumMonoid(10464)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 355), fp: EncodedCountingMonoid(12, SumMonoid(3483)) }, Fingerprint { range: Range(355, 531), fp: EncodedCountingMonoid(12, SumMonoid(5179)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(6, SumMonoid(277)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(5, SumMonoid(649)) }, Fingerprint { range: Range(355, 442), fp: EncodedCountingMonoid(6, SumMonoid(2364)) }, Fingerprint { range: Range(442, 531), fp: EncodedCountingMonoid(6, SumMonoid(3006)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(3, SumMonoid(2743)) }, Fingerprint { range: Range(931, 974), fp: EncodedCountingMonoid(3, SumMonoid(2871)) }], item_sets: [ItemSet { range: Range(189, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(246, 355), items: [246], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(355, 377), fp: EncodedCountingMonoid(3, SumMonoid(1096)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(442, 476), fp: EncodedCountingMonoid(3, SumMonoid(1384)) }, Fingerprint { range: Range(476, 531), fp: EncodedCountingMonoid(3, SumMonoid(1467)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(189, 246), items: [189, 194, 201, 203, 217, 223, 240, 243, 245], want_response: false }, ItemSet { range: Range(246, 355), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }, ItemSet { range: Range(931, 974), items: [936, 963], want_response: true }], wants: [232, 233, 246], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(377, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }, Fingerprint { range: Range(476, 522), fp: EncodedCountingMonoid(3, SumMonoid(1516)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76, 77], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(931, 974), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(80, 129), items: [80, 121], want_response: true }, ItemSet { range: Range(129, 168), items: [129, 145], want_response: true }, ItemSet { range: Range(355, 377), items: [362], want_response: true }, ItemSet { range: Range(413, 442), items: [413, 430], want_response: true }, ItemSet { range: Range(442, 476), items: [442], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(892, 922), items: [901, 914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 23, 27, 52, 168, 178, 609, 628, 664, 674, 849, 860, 862, 936, 963], provide: [(232, true), (233, true), (246, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 168), items: [], want_response: false }, ItemSet { range: Range(355, 377), items: [355, 370, 371], want_response: false }, ItemSet { range: Range(413, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 476), items: [454, 459, 471], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(892, 922), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(476, 502), items: [476, 489], want_response: true }, ItemSet { range: Range(502, 522), items: [502], want_response: true }], wants: [7, 24, 34, 76, 77, 174, 681, 825, 829, 845, 931, 967, 973, 80, 121, 129, 145, 362, 413, 430, 442, 522, 526, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (23, true), (27, true), (52, true), (168, true), (178, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(476, 502), items: [482], want_response: false }, ItemSet { range: Range(502, 522), items: [514, 520], want_response: false }], wants: [81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 476, 489, 502], provide: [(7, true), (24, true), (34, true), (76, true), (77, true), (174, true), (681, true), (825, true), (829, true), (845, true), (931, true), (967, true), (973, true), (80, true), (121, true), (129, true), (145, true), (362, true), (413, true), (430, true), (442, true), (522, true), (526, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [385, 397, 482, 514, 520], provide: [(81, true), (90, true), (117, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(385, true), (397, true), (482, true), (514, true), (520, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 77, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} + [977, 990, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 23, 27, 52, 168, 178, 609, 628, 664, 674, 849, 860, 862, 936, 963, 81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 476, 489, 502] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 246, 7, 24, 34, 76, 77, 174, 681, 825, 829, 845, 931, 967, 973, 80, 121, 129, 145, 362, 413, 430, 442, 522, 526, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 385, 397, 482, 514, 520] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(49, SumMonoid(25124)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(13, SumMonoid(1560)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(12, SumMonoid(5370)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(12, SumMonoid(7730)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(12, SumMonoid(10464)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(6, SumMonoid(280)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(6, SumMonoid(1034)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(4, SumMonoid(1521)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(459, 522), fp: EncodedCountingMonoid(3, SumMonoid(1516)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(3, SumMonoid(2743)) }, Fingerprint { range: Range(931, 974), fp: EncodedCountingMonoid(3, SumMonoid(2871)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(459, 489), fp: EncodedCountingMonoid(3, SumMonoid(1406)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(489, 522), items: [489, 502], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }, ItemSet { range: Range(931, 974), items: [936, 963], want_response: true }], wants: [246, 522, 526], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(3, SumMonoid(215)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(489, 522), items: [514, 520], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(931, 974), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 145), items: [121, 129], want_response: true }, ItemSet { range: Range(145, 203), items: [145, 174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(459, 489), items: [482], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(892, 922), items: [901, 914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 422, 433, 454, 489, 502, 609, 628, 664, 674, 849, 860, 862, 936, 963], provide: [(246, true), (522, true), (526, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 145), items: [], want_response: false }, ItemSet { range: Range(145, 203), items: [168, 178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(459, 489), items: [459, 471, 476], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(892, 922), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }], wants: [362, 385, 397, 413, 430, 442, 514, 520, 681, 825, 829, 845, 931, 967, 973, 121, 129, 145, 174, 232, 233, 482, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (489, true), (502, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 80], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 459, 471, 476, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52], provide: [(362, true), (385, true), (397, true), (413, true), (430, true), (442, true), (514, true), (520, true), (681, true), (825, true), (829, true), (845, true), (931, true), (967, true), (973, true), (121, true), (129, true), (145, true), (174, true), (232, true), (233, true), (482, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34, 76, 80], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (459, true), (471, true), (476, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true), (76, true), (80, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 520, 522, 526, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 422, 433, 454, 489, 502, 609, 628, 664, 674, 849, 860, 862, 936, 963, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 459, 471, 476, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 522, 526, 362, 385, 397, 413, 430, 442, 514, 520, 681, 825, 829, 845, 931, 967, 973, 121, 129, 145, 174, 232, 233, 482, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 7, 24, 34, 76, 80] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(48, SumMonoid(24604)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(12, SumMonoid(1314)) }, Fingerprint { range: Range(246, 531), fp: EncodedCountingMonoid(12, SumMonoid(5096)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(12, SumMonoid(7730)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(12, SumMonoid(10464)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 355), fp: EncodedCountingMonoid(12, SumMonoid(3483)) }, Fingerprint { range: Range(355, 531), fp: EncodedCountingMonoid(12, SumMonoid(5179)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(5, SumMonoid(200)) }, Fingerprint { range: Range(80, 189), fp: EncodedCountingMonoid(5, SumMonoid(649)) }, Fingerprint { range: Range(355, 442), fp: EncodedCountingMonoid(6, SumMonoid(2364)) }, Fingerprint { range: Range(442, 531), fp: EncodedCountingMonoid(5, SumMonoid(2486)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(3, SumMonoid(2743)) }, Fingerprint { range: Range(931, 974), fp: EncodedCountingMonoid(3, SumMonoid(2871)) }], item_sets: [ItemSet { range: Range(189, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(246, 355), items: [246], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(80, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(355, 377), fp: EncodedCountingMonoid(3, SumMonoid(1096)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(442, 476), fp: EncodedCountingMonoid(3, SumMonoid(1384)) }, Fingerprint { range: Range(476, 531), fp: EncodedCountingMonoid(3, SumMonoid(1467)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(189, 246), items: [189, 194, 201, 203, 217, 223, 240, 243, 245], want_response: false }, ItemSet { range: Range(246, 355), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 80), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }, ItemSet { range: Range(931, 974), items: [936, 963], want_response: true }], wants: [232, 233, 246], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(377, 413), fp: EncodedCountingMonoid(3, SumMonoid(1159)) }], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 80), items: [59, 76], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(931, 974), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(80, 129), items: [80, 121], want_response: true }, ItemSet { range: Range(129, 168), items: [129, 145], want_response: true }, ItemSet { range: Range(355, 377), items: [362], want_response: true }, ItemSet { range: Range(413, 442), items: [413, 430], want_response: true }, ItemSet { range: Range(442, 476), items: [442], want_response: true }, ItemSet { range: Range(476, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(892, 922), items: [901, 914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 23, 27, 52, 168, 178, 609, 628, 664, 674, 849, 860, 862, 936, 963], provide: [(232, true), (233, true), (246, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(80, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 168), items: [], want_response: false }, ItemSet { range: Range(355, 377), items: [355, 370, 371], want_response: false }, ItemSet { range: Range(413, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 476), items: [454, 459, 471], want_response: false }, ItemSet { range: Range(476, 522), items: [476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(892, 922), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(377, 413), items: [377], want_response: true }], wants: [7, 24, 34, 76, 174, 681, 825, 829, 845, 931, 967, 973, 80, 121, 129, 145, 362, 413, 430, 442, 482, 514, 522, 526, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (23, true), (27, true), (52, true), (168, true), (178, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }], wants: [81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927], provide: [(7, true), (24, true), (34, true), (76, true), (174, true), (681, true), (825, true), (829, true), (845, true), (931, true), (967, true), (973, true), (80, true), (121, true), (129, true), (145, true), (362, true), (413, true), (430, true), (442, true), (482, true), (514, true), (522, true), (526, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [385, 397], provide: [(81, true), (90, true), (117, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(385, true), (397, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 80, 121, 129, 145, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} + [977, 990, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 23, 27, 52, 168, 178, 609, 628, 664, 674, 849, 860, 862, 936, 963, 81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 246, 7, 24, 34, 76, 174, 681, 825, 829, 845, 931, 967, 973, 80, 121, 129, 145, 362, 413, 430, 442, 482, 514, 522, 526, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 385, 397] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 80, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(47, SumMonoid(24459)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(12, SumMonoid(1415)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(11, SumMonoid(4850)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(12, SumMonoid(7730)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(12, SumMonoid(10464)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(6, SumMonoid(280)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(4, SumMonoid(1521)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 690), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(690, 768), fp: EncodedCountingMonoid(3, SumMonoid(2209)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(892, 931), fp: EncodedCountingMonoid(3, SumMonoid(2743)) }, Fingerprint { range: Range(931, 974), fp: EncodedCountingMonoid(3, SumMonoid(2871)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 664), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(690, 703), fp: EncodedCountingMonoid(3, SumMonoid(2088)) }, Fingerprint { range: Range(703, 768), fp: EncodedCountingMonoid(3, SumMonoid(2194)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(892, 922), fp: EncodedCountingMonoid(4, SumMonoid(3580)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(664, 690), items: [664, 674], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }, ItemSet { range: Range(931, 974), items: [936, 963], want_response: true }], wants: [246, 482, 514, 522, 526], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(3, SumMonoid(215)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(664, 690), items: [681], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(931, 974), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 664), items: [648, 657], want_response: true }, ItemSet { range: Range(690, 703), items: [690], want_response: true }, ItemSet { range: Range(703, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(892, 922), items: [901, 914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 370, 371, 422, 433, 454, 609, 628, 664, 674, 849, 860, 862, 936, 963], provide: [(246, true), (482, true), (514, true), (522, true), (526, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 664), items: [641, 642, 660], want_response: false }, ItemSet { range: Range(690, 703), items: [693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(892, 922), items: [892, 895, 896, 897], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }], wants: [362, 385, 397, 413, 430, 442, 681, 825, 829, 845, 931, 967, 973, 121, 129, 174, 232, 233, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (370, true), (371, true), (422, true), (433, true), (454, true), (609, true), (628, true), (664, true), (674, true), (849, true), (860, true), (862, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 80], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52], provide: [(362, true), (385, true), (397, true), (413, true), (430, true), (442, true), (681, true), (825, true), (829, true), (845, true), (931, true), (967, true), (973, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (648, true), (657, true), (690, true), (758, true), (761, true), (768, true), (777, true), (806, true), (901, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34, 76, 80], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true), (76, true), (80, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 80, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 648, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 370, 371, 422, 433, 454, 609, 628, 664, 674, 849, 860, 862, 936, 963, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 641, 642, 660, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 362, 385, 397, 413, 430, 442, 681, 825, 829, 845, 931, 967, 973, 121, 129, 174, 232, 233, 578, 591, 648, 657, 690, 758, 761, 768, 777, 806, 901, 914, 928, 7, 24, 34, 76, 80] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 80, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(46, SumMonoid(23811)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(12, SumMonoid(1415)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(11, SumMonoid(4850)) }, Fingerprint { range: Range(531, 777), fp: EncodedCountingMonoid(12, SumMonoid(7850)) }, Fingerprint { range: Range(777, 974), fp: EncodedCountingMonoid(11, SumMonoid(9696)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 642), fp: EncodedCountingMonoid(13, SumMonoid(7590)) }, Fingerprint { range: Range(642, 777), fp: EncodedCountingMonoid(12, SumMonoid(8466)) }, Fingerprint { range: Range(777, 895), fp: EncodedCountingMonoid(9, SumMonoid(7468)) }, Fingerprint { range: Range(895, 974), fp: EncodedCountingMonoid(8, SumMonoid(7362)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(6, SumMonoid(280)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(4, SumMonoid(1521)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(642, 758), fp: EncodedCountingMonoid(3, SumMonoid(2028)) }, Fingerprint { range: Range(758, 777), fp: EncodedCountingMonoid(3, SumMonoid(2287)) }, Fingerprint { range: Range(777, 829), fp: EncodedCountingMonoid(3, SumMonoid(2408)) }, Fingerprint { range: Range(895, 931), fp: EncodedCountingMonoid(3, SumMonoid(2743)) }, Fingerprint { range: Range(931, 974), fp: EncodedCountingMonoid(3, SumMonoid(2871)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(829, 895), items: [829, 845], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }, Fingerprint { range: Range(642, 694), fp: EncodedCountingMonoid(5, SumMonoid(3333)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(777, 807), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }, Fingerprint { range: Range(895, 922), fp: EncodedCountingMonoid(3, SumMonoid(2688)) }, Fingerprint { range: Range(922, 931), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(829, 895), items: [849, 860, 862, 892], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(758, 777), items: [770, 774], want_response: true }, ItemSet { range: Range(807, 829), items: [807, 815], want_response: true }, ItemSet { range: Range(931, 974), items: [936, 963], want_response: true }], wants: [246, 482, 514, 522, 526, 829, 845], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(3, SumMonoid(215)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(758, 777), items: [758, 761, 768], want_response: false }, ItemSet { range: Range(807, 829), items: [825], want_response: false }, ItemSet { range: Range(931, 974), items: [931, 967, 973], want_response: false }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }, ItemSet { range: Range(642, 690), items: [657, 681], want_response: true }, ItemSet { range: Range(690, 694), items: [690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(777, 807), items: [777, 806], want_response: true }, ItemSet { range: Range(895, 922), items: [901, 914], want_response: true }, ItemSet { range: Range(922, 931), items: [928], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 849, 860, 862, 892, 370, 371, 422, 433, 454, 770, 774, 807, 815, 936, 963], provide: [(246, true), (482, true), (514, true), (522, true), (526, true), (829, true), (845, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }, ItemSet { range: Range(642, 690), items: [642, 660, 664, 674], want_response: false }, ItemSet { range: Range(690, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(777, 807), items: [780, 801, 802], want_response: false }, ItemSet { range: Range(895, 922), items: [895, 896, 897], want_response: false }, ItemSet { range: Range(922, 931), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }], wants: [362, 385, 397, 413, 430, 442, 758, 761, 768, 825, 931, 967, 973, 121, 129, 174, 232, 233, 578, 591, 657, 681, 690, 777, 806, 901, 914, 928], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (849, true), (860, true), (862, true), (892, true), (370, true), (371, true), (422, true), (433, true), (454, true), (770, true), (774, true), (807, true), (815, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 80], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 780, 801, 802, 895, 896, 897, 922, 926, 927, 23, 27, 52], provide: [(362, true), (385, true), (397, true), (413, true), (430, true), (442, true), (758, true), (761, true), (768, true), (825, true), (931, true), (967, true), (973, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (657, true), (681, true), (690, true), (777, true), (806, true), (901, true), (914, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34, 76, 80], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (780, true), (801, true), (802, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true), (76, true), (80, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 80, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 928, 931, 967, 973} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 849, 860, 862, 892, 370, 371, 422, 433, 454, 770, 774, 807, 815, 936, 963, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 780, 801, 802, 895, 896, 897, 922, 926, 927, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 829, 845, 362, 385, 397, 413, 430, 442, 758, 761, 768, 825, 931, 967, 973, 121, 129, 174, 232, 233, 578, 591, 657, 681, 690, 777, 806, 901, 914, 928, 7, 24, 34, 76, 80] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 80, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(45, SumMonoid(22883)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(12, SumMonoid(1415)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(11, SumMonoid(4850)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(11, SumMonoid(7082)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(11, SumMonoid(9536)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(6, SumMonoid(280)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(4, SumMonoid(1521)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(3, SumMonoid(2028)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(892, 967), fp: EncodedCountingMonoid(3, SumMonoid(2746)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(758, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(967, 974), items: [967, 973], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(892, 926), fp: EncodedCountingMonoid(5, SumMonoid(4502)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(758, 768), items: [], want_response: false }, ItemSet { range: Range(967, 974), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }], wants: [246, 482, 514, 522, 526, 758, 761, 967, 973], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }, Fingerprint { range: Range(59, 81), fp: EncodedCountingMonoid(3, SumMonoid(215)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 690), items: [657, 681], want_response: true }, ItemSet { range: Range(690, 694), items: [690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(892, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [931], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862], provide: [(246, true), (482, true), (514, true), (522, true), (526, true), (758, true), (761, true), (967, true), (973, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 690), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(690, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(892, 926), items: [892, 895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }, ItemSet { range: Range(59, 81), items: [59], want_response: true }], wants: [362, 385, 397, 413, 430, 442, 825, 829, 845, 121, 129, 174, 232, 233, 578, 591, 657, 681, 690, 768, 777, 806, 901, 914, 931], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (370, true), (371, true), (422, true), (433, true), (454, true), (609, true), (628, true), (849, true), (860, true), (862, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76, 80], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52], provide: [(362, true), (385, true), (397, true), (413, true), (430, true), (442, true), (825, true), (829, true), (845, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (657, true), (681, true), (690, true), (768, true), (777, true), (806, true), (901, true), (914, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34, 76, 80], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true), (76, true), (80, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 80, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 931, 967, 973} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 758, 761, 967, 973, 362, 385, 397, 413, 430, 442, 825, 829, 845, 121, 129, 174, 232, 233, 578, 591, 657, 681, 690, 768, 777, 806, 901, 914, 931, 7, 24, 34, 76, 80] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(44, SumMonoid(22803)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(11, SumMonoid(1335)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(11, SumMonoid(4850)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(11, SumMonoid(7082)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(11, SumMonoid(9536)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(5, SumMonoid(200)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(4, SumMonoid(1521)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(3, SumMonoid(2028)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }, Fingerprint { range: Range(892, 967), fp: EncodedCountingMonoid(3, SumMonoid(2746)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(758, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(967, 974), items: [967, 973], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }, Fingerprint { range: Range(892, 926), fp: EncodedCountingMonoid(5, SumMonoid(4502)) }, Fingerprint { range: Range(926, 967), fp: EncodedCountingMonoid(4, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(758, 768), items: [], want_response: false }, ItemSet { range: Range(967, 974), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }], wants: [246, 482, 514, 522, 526, 758, 761, 967, 973], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 690), items: [657, 681], want_response: true }, ItemSet { range: Range(690, 694), items: [690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }, ItemSet { range: Range(892, 926), items: [901, 914], want_response: true }, ItemSet { range: Range(926, 967), items: [931], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862], provide: [(246, true), (482, true), (514, true), (522, true), (526, true), (758, true), (761, true), (967, true), (973, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(59, 81), items: [59], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 690), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(690, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(892, 926), items: [892, 895, 896, 897, 922], want_response: false }, ItemSet { range: Range(926, 967), items: [926, 927, 936, 963], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }], wants: [362, 385, 397, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 657, 681, 690, 768, 777, 806, 901, 914, 931], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (370, true), (371, true), (422, true), (433, true), (454, true), (609, true), (628, true), (849, true), (860, true), (862, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52], provide: [(362, true), (385, true), (397, true), (413, true), (430, true), (442, true), (825, true), (829, true), (845, true), (76, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (657, true), (681, true), (690, true), (768, true), (777, true), (806, true), (901, true), (914, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 901, 914, 931, 967, 973} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 758, 761, 967, 973, 362, 385, 397, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 657, 681, 690, 768, 777, 806, 901, 914, 931, 7, 24, 34] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 914, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(43, SumMonoid(21902)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(11, SumMonoid(1335)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(11, SumMonoid(4850)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(11, SumMonoid(7082)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(10, SumMonoid(8635)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(5, SumMonoid(200)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(4, SumMonoid(1521)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 758), fp: EncodedCountingMonoid(3, SumMonoid(2028)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(758, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 974), items: [967, 973], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(641, 694), fp: EncodedCountingMonoid(6, SumMonoid(3974)) }, Fingerprint { range: Range(694, 758), fp: EncodedCountingMonoid(5, SumMonoid(3589)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(758, 768), items: [], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 974), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }], wants: [246, 482, 514, 522, 526, 758, 761, 914, 931, 967, 973], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(641, 690), items: [657, 681], want_response: true }, ItemSet { range: Range(690, 694), items: [690], want_response: true }, ItemSet { range: Range(694, 758), items: [], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862], provide: [(246, true), (482, true), (514, true), (522, true), (526, true), (758, true), (761, true), (914, true), (931, true), (967, true), (973, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(59, 81), items: [59], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(641, 690), items: [641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(690, 694), items: [693], want_response: false }, ItemSet { range: Range(694, 758), items: [694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }], wants: [362, 385, 397, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 657, 681, 690, 768, 777, 806], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (370, true), (371, true), (422, true), (433, true), (454, true), (609, true), (628, true), (849, true), (860, true), (862, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52], provide: [(362, true), (385, true), (397, true), (413, true), (430, true), (442, true), (825, true), (829, true), (845, true), (76, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (657, true), (681, true), (690, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 681, 690, 758, 761, 768, 777, 806, 825, 829, 845, 914, 931, 967, 973} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 758, 761, 914, 931, 967, 973, 362, 385, 397, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 657, 681, 690, 768, 777, 806, 7, 24, 34] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 845, 914, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(42, SumMonoid(21221)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(11, SumMonoid(1335)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(11, SumMonoid(4850)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(10, SumMonoid(6401)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(10, SumMonoid(8635)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(5, SumMonoid(200)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(4, SumMonoid(1521)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(641, 758), items: [657, 690], want_response: true }, ItemSet { range: Range(758, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 974), items: [967, 973], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(641, 758), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(758, 768), items: [], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 974), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }], wants: [246, 482, 514, 522, 526, 657, 690, 758, 761, 914, 931, 967, 973], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385, 397], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862], provide: [(246, true), (482, true), (514, true), (522, true), (526, true), (657, true), (690, true), (758, true), (761, true), (914, true), (931, true), (967, true), (973, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(59, 81), items: [59], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }], wants: [362, 385, 397, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (370, true), (371, true), (422, true), (433, true), (454, true), (609, true), (628, true), (849, true), (860, true), (862, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52], provide: [(362, true), (385, true), (397, true), (413, true), (430, true), (442, true), (825, true), (829, true), (845, true), (76, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 397, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 845, 914, 931, 967, 973} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 657, 690, 758, 761, 914, 931, 967, 973, 362, 385, 397, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806, 7, 24, 34] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 845, 914, 931, 967, 973} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 974), fp: EncodedCountingMonoid(41, SumMonoid(20824)) }], item_sets: [ItemSet { range: Range(974, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 974), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(974, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(11, SumMonoid(1335)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(10, SumMonoid(4453)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(10, SumMonoid(6401)) }, Fingerprint { range: Range(768, 974), fp: EncodedCountingMonoid(10, SumMonoid(8635)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 974), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(5, SumMonoid(200)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(3, SumMonoid(1124)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(641, 758), items: [657, 690], want_response: true }, ItemSet { range: Range(758, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 974), items: [967, 973], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(641, 758), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(758, 768), items: [], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 974), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }], wants: [246, 482, 514, 522, 526, 657, 690, 758, 761, 914, 931, 967, 973], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862], provide: [(246, true), (482, true), (514, true), (522, true), (526, true), (657, true), (690, true), (758, true), (761, true), (914, true), (931, true), (967, true), (973, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(59, 81), items: [59], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }], wants: [362, 385, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (370, true), (371, true), (422, true), (433, true), (454, true), (609, true), (628, true), (849, true), (860, true), (862, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52], provide: [(362, true), (385, true), (413, true), (430, true), (442, true), (825, true), (829, true), (845, true), (76, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 845, 914, 931, 967, 973} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 657, 690, 758, 761, 914, 931, 967, 973, 362, 385, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806, 7, 24, 34] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 845, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(40, SumMonoid(19851)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(11, SumMonoid(1335)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(10, SumMonoid(4453)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(10, SumMonoid(6401)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(9, SumMonoid(7662)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(5, SumMonoid(200)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(3, SumMonoid(1124)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }, Fingerprint { range: Range(825, 892), fp: EncodedCountingMonoid(3, SumMonoid(2499)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(641, 758), items: [657, 690], want_response: true }, ItemSet { range: Range(758, 768), items: [758, 761], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(641, 758), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(758, 768), items: [], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(825, 862), items: [849, 860], want_response: true }, ItemSet { range: Range(862, 892), items: [862], want_response: true }], wants: [246, 482, 514, 522, 526, 657, 690, 758, 761, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(825, 862), items: [825, 829, 845], want_response: false }, ItemSet { range: Range(862, 892), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862], provide: [(246, true), (482, true), (514, true), (522, true), (526, true), (657, true), (690, true), (758, true), (761, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(59, 81), items: [59], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }], wants: [362, 385, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (370, true), (371, true), (422, true), (433, true), (454, true), (609, true), (628, true), (849, true), (860, true), (862, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52], provide: [(362, true), (385, true), (413, true), (430, true), (442, true), (825, true), (829, true), (845, true), (76, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 845, 914, 931, 967} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 849, 860, 862, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 657, 690, 758, 761, 914, 931, 967, 362, 385, 413, 430, 442, 825, 829, 845, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806, 7, 24, 34] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(39, SumMonoid(19006)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(11, SumMonoid(1335)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(10, SumMonoid(4453)) }, Fingerprint { range: Range(531, 761), fp: EncodedCountingMonoid(9, SumMonoid(5640)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(9, SumMonoid(7578)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(5, SumMonoid(200)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 413), fp: EncodedCountingMonoid(3, SumMonoid(1124)) }, Fingerprint { range: Range(413, 459), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(3, SumMonoid(2306)) }, Fingerprint { range: Range(806, 892), fp: EncodedCountingMonoid(3, SumMonoid(2460)) }], item_sets: [ItemSet { range: Range(243, 362), items: [246], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(641, 758), items: [657, 690], want_response: true }, ItemSet { range: Range(758, 761), items: [758], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(641, 758), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(758, 761), items: [], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 413), items: [377], want_response: true }, ItemSet { range: Range(413, 454), items: [422, 433], want_response: true }, ItemSet { range: Range(454, 459), items: [454], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(860, 892), items: [860, 862], want_response: true }], wants: [246, 482, 514, 522, 526, 657, 690, 758, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 413), items: [377, 385], want_response: false }, ItemSet { range: Range(413, 454), items: [413, 430, 442], want_response: false }, ItemSet { range: Range(454, 459), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(860, 892), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(761, 777), items: [761, 768], want_response: true }, ItemSet { range: Range(777, 801), items: [777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 801, 802, 860, 862], provide: [(246, true), (482, true), (514, true), (522, true), (526, true), (657, true), (690, true), (758, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(59, 81), items: [59], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(761, 777), items: [770, 774], want_response: false }, ItemSet { range: Range(777, 801), items: [780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }], wants: [362, 385, 413, 430, 442, 76, 121, 129, 174, 232, 233, 578, 591, 761, 768, 777, 806, 825, 829], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (370, true), (371, true), (422, true), (433, true), (454, true), (609, true), (628, true), (801, true), (802, true), (860, true), (862, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 807, 815, 849, 23, 27, 52], provide: [(362, true), (385, true), (413, true), (430, true), (442, true), (76, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (807, true), (815, true), (849, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 413, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 433, 454, 609, 628, 801, 802, 860, 862, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 807, 815, 849, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [246, 482, 514, 522, 526, 657, 690, 758, 914, 931, 967, 362, 385, 413, 430, 442, 76, 121, 129, 174, 232, 233, 578, 591, 761, 768, 777, 806, 825, 829, 7, 24, 34] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(38, SumMonoid(18593)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(10, SumMonoid(1089)) }, Fingerprint { range: Range(246, 531), fp: EncodedCountingMonoid(10, SumMonoid(4286)) }, Fingerprint { range: Range(531, 761), fp: EncodedCountingMonoid(9, SumMonoid(5640)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(9, SumMonoid(7578)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 355), fp: EncodedCountingMonoid(12, SumMonoid(3483)) }, Fingerprint { range: Range(355, 531), fp: EncodedCountingMonoid(12, SumMonoid(5179)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 76), fp: EncodedCountingMonoid(4, SumMonoid(124)) }, Fingerprint { range: Range(76, 189), fp: EncodedCountingMonoid(4, SumMonoid(500)) }, Fingerprint { range: Range(355, 482), fp: EncodedCountingMonoid(5, SumMonoid(1996)) }, Fingerprint { range: Range(482, 531), fp: EncodedCountingMonoid(4, SumMonoid(2044)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 806), fp: EncodedCountingMonoid(3, SumMonoid(2306)) }, Fingerprint { range: Range(806, 892), fp: EncodedCountingMonoid(3, SumMonoid(2460)) }], item_sets: [ItemSet { range: Range(189, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(246, 355), items: [246], want_response: true }, ItemSet { range: Range(641, 758), items: [657, 690], want_response: true }, ItemSet { range: Range(758, 761), items: [758], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(76, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(355, 433), fp: EncodedCountingMonoid(5, SumMonoid(1895)) }, Fingerprint { range: Range(433, 482), fp: EncodedCountingMonoid(5, SumMonoid(2293)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 801), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(806, 860), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }], item_sets: [ItemSet { range: Range(189, 246), items: [189, 194, 201, 203, 217, 223, 240, 243, 245], want_response: false }, ItemSet { range: Range(246, 355), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(641, 758), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(758, 761), items: [], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 76), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }, ItemSet { range: Range(801, 806), items: [801, 802], want_response: true }, ItemSet { range: Range(860, 892), items: [860, 862], want_response: true }], wants: [232, 233, 246, 657, 690, 758, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 76), items: [59], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 514, 522, 526], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(801, 806), items: [], want_response: false }, ItemSet { range: Range(860, 892), items: [], want_response: false }, ItemSet { range: Range(76, 129), items: [76, 121], want_response: true }, ItemSet { range: Range(129, 168), items: [129], want_response: true }, ItemSet { range: Range(355, 385), items: [362, 377], want_response: true }, ItemSet { range: Range(385, 433), items: [385, 430], want_response: true }, ItemSet { range: Range(433, 482), items: [442], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(761, 777), items: [761, 768], want_response: true }, ItemSet { range: Range(777, 801), items: [777], want_response: true }, ItemSet { range: Range(806, 829), items: [806, 825], want_response: true }, ItemSet { range: Range(829, 860), items: [829], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 168, 178, 489, 502, 609, 628, 801, 802, 860, 862], provide: [(232, true), (233, true), (246, true), (657, true), (690, true), (758, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(76, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 168), items: [], want_response: false }, ItemSet { range: Range(355, 385), items: [355, 370, 371, 377], want_response: false }, ItemSet { range: Range(385, 433), items: [422], want_response: false }, ItemSet { range: Range(433, 482), items: [433, 454, 459, 471, 476], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(761, 777), items: [770, 774], want_response: false }, ItemSet { range: Range(777, 801), items: [780], want_response: false }, ItemSet { range: Range(806, 829), items: [807, 815], want_response: false }, ItemSet { range: Range(829, 860), items: [849], want_response: false }], wants: [7, 24, 34, 174, 482, 514, 522, 526, 76, 121, 129, 362, 385, 430, 442, 578, 591, 761, 768, 777, 806, 825, 829], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (609, true), (628, true), (801, true), (802, true), (860, true), (862, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 807, 815, 849], provide: [(7, true), (24, true), (34, true), (174, true), (482, true), (514, true), (522, true), (526, true), (76, true), (121, true), (129, true), (362, true), (385, true), (430, true), (442, true), (578, true), (591, true), (761, true), (768, true), (777, true), (806, true), (825, true), (829, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(81, true), (90, true), (117, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (807, true), (815, true), (849, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 758, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 168, 178, 489, 502, 609, 628, 801, 802, 860, 862, 81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 807, 815, 849] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 246, 657, 690, 758, 914, 931, 967, 7, 24, 34, 174, 482, 514, 522, 526, 76, 121, 129, 362, 385, 430, 442, 578, 591, 761, 768, 777, 806, 825, 829] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(37, SumMonoid(17835)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 246), fp: EncodedCountingMonoid(10, SumMonoid(1089)) }, Fingerprint { range: Range(246, 531), fp: EncodedCountingMonoid(10, SumMonoid(4286)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(9, SumMonoid(5643)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(8, SumMonoid(6817)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 189), fp: EncodedCountingMonoid(9, SumMonoid(795)) }, Fingerprint { range: Range(189, 246), fp: EncodedCountingMonoid(9, SumMonoid(1955)) }, Fingerprint { range: Range(246, 355), fp: EncodedCountingMonoid(12, SumMonoid(3483)) }, Fingerprint { range: Range(355, 531), fp: EncodedCountingMonoid(12, SumMonoid(5179)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 76), fp: EncodedCountingMonoid(4, SumMonoid(124)) }, Fingerprint { range: Range(76, 189), fp: EncodedCountingMonoid(4, SumMonoid(500)) }, Fingerprint { range: Range(355, 482), fp: EncodedCountingMonoid(5, SumMonoid(1996)) }, Fingerprint { range: Range(482, 531), fp: EncodedCountingMonoid(4, SumMonoid(2044)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [ItemSet { range: Range(189, 246), items: [232, 233], want_response: true }, ItemSet { range: Range(246, 355), items: [246], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(76, 168), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(355, 433), fp: EncodedCountingMonoid(5, SumMonoid(1895)) }, Fingerprint { range: Range(433, 482), fp: EncodedCountingMonoid(5, SumMonoid(2293)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(189, 246), items: [189, 194, 201, 203, 217, 223, 240, 243, 245], want_response: false }, ItemSet { range: Range(246, 355), items: [249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 76), items: [52, 59], want_response: true }, ItemSet { range: Range(168, 189), items: [168, 178], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 233, 246, 657, 690, 761, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 76), items: [59], want_response: false }, ItemSet { range: Range(168, 189), items: [174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 514, 522, 526], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(76, 129), items: [76, 121], want_response: true }, ItemSet { range: Range(129, 168), items: [129], want_response: true }, ItemSet { range: Range(355, 385), items: [362, 377], want_response: true }, ItemSet { range: Range(385, 433), items: [385, 430], want_response: true }, ItemSet { range: Range(433, 482), items: [442], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 168, 178, 489, 502, 609, 628], provide: [(232, true), (233, true), (246, true), (657, true), (690, true), (761, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(76, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 168), items: [], want_response: false }, ItemSet { range: Range(355, 385), items: [355, 370, 371, 377], want_response: false }, ItemSet { range: Range(385, 433), items: [422], want_response: false }, ItemSet { range: Range(433, 482), items: [433, 454, 459, 471, 476], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [7, 24, 34, 174, 482, 514, 522, 526, 76, 121, 129, 362, 385, 430, 442, 578, 591, 768, 777, 806], provide: [(189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (23, true), (27, true), (52, true), (168, true), (178, true), (489, true), (502, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(7, true), (24, true), (34, true), (174, true), (482, true), (514, true), (522, true), (526, true), (76, true), (121, true), (129, true), (362, true), (385, true), (430, true), (442, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(81, true), (90, true), (117, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 246, 362, 377, 385, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 168, 178, 489, 502, 609, 628, 81, 90, 117, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 246, 657, 690, 761, 825, 829, 914, 931, 967, 7, 24, 34, 174, 482, 514, 522, 526, 76, 121, 129, 362, 385, 430, 442, 578, 591, 768, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 362, 377, 385, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(36, SumMonoid(17589)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 362), fp: EncodedCountingMonoid(10, SumMonoid(1089)) }, Fingerprint { range: Range(362, 531), fp: EncodedCountingMonoid(9, SumMonoid(4040)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(9, SumMonoid(5643)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(8, SumMonoid(6817)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 243), fp: EncodedCountingMonoid(16, SumMonoid(2262)) }, Fingerprint { range: Range(243, 362), fp: EncodedCountingMonoid(15, SumMonoid(4326)) }, Fingerprint { range: Range(362, 459), fp: EncodedCountingMonoid(6, SumMonoid(2427)) }, Fingerprint { range: Range(459, 531), fp: EncodedCountingMonoid(5, SumMonoid(2397)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(5, SumMonoid(200)) }, Fingerprint { range: Range(121, 243), fp: EncodedCountingMonoid(5, SumMonoid(889)) }, Fingerprint { range: Range(362, 430), fp: EncodedCountingMonoid(3, SumMonoid(1124)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [ItemSet { range: Range(243, 362), items: [], want_response: true }, ItemSet { range: Range(430, 459), items: [430, 442], want_response: true }, ItemSet { range: Range(459, 522), items: [482, 514], want_response: true }, ItemSet { range: Range(522, 531), items: [522, 526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 243), fp: EncodedCountingMonoid(4, SumMonoid(883)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(243, 362), items: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355], want_response: false }, ItemSet { range: Range(430, 459), items: [433, 454], want_response: false }, ItemSet { range: Range(459, 522), items: [459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(522, 531), items: [], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(362, 377), items: [370, 371], want_response: true }, ItemSet { range: Range(377, 430), items: [377, 422], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [430, 442, 482, 514, 522, 526, 657, 690, 761, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 59), fp: EncodedCountingMonoid(3, SumMonoid(65)) }], item_sets: [ItemSet { range: Range(362, 377), items: [362], want_response: false }, ItemSet { range: Range(377, 430), items: [377, 385], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(59, 81), items: [59, 76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 174), items: [121, 129], want_response: true }, ItemSet { range: Range(174, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 243), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 609, 628], provide: [(430, true), (442, true), (482, true), (514, true), (522, true), (526, true), (657, true), (690, true), (761, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(59, 81), items: [59], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 174), items: [168], want_response: false }, ItemSet { range: Range(174, 203), items: [178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 243), items: [203, 217, 223, 240], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 59), items: [52], want_response: true }], wants: [362, 385, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806], provide: [(243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (370, true), (371, true), (422, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 59), items: [], want_response: false }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52], provide: [(362, true), (385, true), (76, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 24, 34], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (24, true), (34, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 362, 377, 385, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 370, 371, 422, 609, 628, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815, 23, 27, 52] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [430, 442, 482, 514, 522, 526, 657, 690, 761, 825, 829, 914, 931, 967, 362, 385, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806, 7, 24, 34] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(35, SumMonoid(17227)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 233), fp: EncodedCountingMonoid(9, SumMonoid(856)) }, Fingerprint { range: Range(233, 531), fp: EncodedCountingMonoid(9, SumMonoid(3911)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(9, SumMonoid(5643)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(8, SumMonoid(6817)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 233), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(233, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 76), fp: EncodedCountingMonoid(4, SumMonoid(124)) }, Fingerprint { range: Range(76, 178), fp: EncodedCountingMonoid(4, SumMonoid(500)) }, Fingerprint { range: Range(339, 482), fp: EncodedCountingMonoid(4, SumMonoid(1634)) }, Fingerprint { range: Range(482, 531), fp: EncodedCountingMonoid(4, SumMonoid(2044)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [ItemSet { range: Range(178, 233), items: [232], want_response: true }, ItemSet { range: Range(233, 339), items: [233], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(339, 433), fp: EncodedCountingMonoid(6, SumMonoid(2234)) }, Fingerprint { range: Range(433, 482), fp: EncodedCountingMonoid(5, SumMonoid(2293)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(178, 233), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 76), items: [52, 59], want_response: true }, ItemSet { range: Range(76, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 178), items: [117, 168], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 233, 657, 690, 761, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 76), items: [59], want_response: false }, ItemSet { range: Range(76, 117), items: [76], want_response: false }, ItemSet { range: Range(117, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 514, 522, 526], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(339, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 433), items: [430], want_response: true }, ItemSet { range: Range(433, 482), items: [442], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 81, 90, 117, 168, 489, 502, 609, 628], provide: [(232, true), (233, true), (657, true), (690, true), (761, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(339, 430), items: [339, 355, 370, 371, 377, 422], want_response: false }, ItemSet { range: Range(430, 433), items: [], want_response: false }, ItemSet { range: Range(433, 482), items: [433, 454, 459, 471, 476], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [7, 24, 34, 76, 121, 129, 174, 482, 514, 522, 526, 385, 430, 442, 578, 591, 768, 777, 806], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (168, true), (489, true), (502, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(7, true), (24, true), (34, true), (76, true), (121, true), (129, true), (174, true), (482, true), (514, true), (522, true), (526, true), (385, true), (430, true), (442, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 514, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 81, 90, 117, 168, 489, 502, 609, 628, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 657, 690, 761, 825, 829, 914, 931, 967, 7, 24, 34, 76, 121, 129, 174, 482, 514, 522, 526, 385, 430, 442, 578, 591, 768, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(34, SumMonoid(16713)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 233), fp: EncodedCountingMonoid(9, SumMonoid(856)) }, Fingerprint { range: Range(233, 531), fp: EncodedCountingMonoid(8, SumMonoid(3397)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(9, SumMonoid(5643)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(8, SumMonoid(6817)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 233), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(233, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 76), fp: EncodedCountingMonoid(4, SumMonoid(124)) }, Fingerprint { range: Range(76, 178), fp: EncodedCountingMonoid(4, SumMonoid(500)) }, Fingerprint { range: Range(339, 482), fp: EncodedCountingMonoid(4, SumMonoid(1634)) }, Fingerprint { range: Range(482, 531), fp: EncodedCountingMonoid(3, SumMonoid(1530)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [ItemSet { range: Range(178, 233), items: [232], want_response: true }, ItemSet { range: Range(233, 339), items: [233], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(339, 433), fp: EncodedCountingMonoid(6, SumMonoid(2234)) }, Fingerprint { range: Range(433, 482), fp: EncodedCountingMonoid(5, SumMonoid(2293)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(178, 233), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(7, 52), items: [23, 27], want_response: true }, ItemSet { range: Range(52, 76), items: [52, 59], want_response: true }, ItemSet { range: Range(76, 117), items: [81, 90], want_response: true }, ItemSet { range: Range(117, 178), items: [117, 168], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 233, 657, 690, 761, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 52), items: [7, 24, 34], want_response: false }, ItemSet { range: Range(52, 76), items: [59], want_response: false }, ItemSet { range: Range(76, 117), items: [76], want_response: false }, ItemSet { range: Range(117, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 522, 526], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(339, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 433), items: [430], want_response: true }, ItemSet { range: Range(433, 482), items: [442], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 81, 90, 117, 168, 489, 502, 609, 628], provide: [(232, true), (233, true), (657, true), (690, true), (761, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(339, 430), items: [339, 355, 370, 371, 377, 422], want_response: false }, ItemSet { range: Range(430, 433), items: [], want_response: false }, ItemSet { range: Range(433, 482), items: [433, 454, 459, 471, 476], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [7, 24, 34, 76, 121, 129, 174, 482, 522, 526, 385, 430, 442, 578, 591, 768, 777, 806], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (168, true), (489, true), (502, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(7, true), (24, true), (34, true), (76, true), (121, true), (129, true), (174, true), (482, true), (522, true), (526, true), (385, true), (430, true), (442, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 34, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 81, 90, 117, 168, 489, 502, 609, 628, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 657, 690, 761, 825, 829, 914, 931, 967, 7, 24, 34, 76, 121, 129, 174, 482, 522, 526, 385, 430, 442, 578, 591, 768, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 24, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(33, SumMonoid(16679)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 233), fp: EncodedCountingMonoid(8, SumMonoid(822)) }, Fingerprint { range: Range(233, 531), fp: EncodedCountingMonoid(8, SumMonoid(3397)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(9, SumMonoid(5643)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(8, SumMonoid(6817)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 233), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(233, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(4, SumMonoid(166)) }, Fingerprint { range: Range(121, 178), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(339, 482), fp: EncodedCountingMonoid(4, SumMonoid(1634)) }, Fingerprint { range: Range(482, 531), fp: EncodedCountingMonoid(3, SumMonoid(1530)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [ItemSet { range: Range(178, 233), items: [232], want_response: true }, ItemSet { range: Range(233, 339), items: [233], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(339, 433), fp: EncodedCountingMonoid(6, SumMonoid(2234)) }, Fingerprint { range: Range(433, 482), fp: EncodedCountingMonoid(5, SumMonoid(2293)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(178, 233), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(121, 178), items: [168], want_response: true }, ItemSet { range: Range(482, 531), items: [489, 502], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 233, 657, 690, 761, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(482, 531), items: [482, 522, 526], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 59), items: [7, 24], want_response: true }, ItemSet { range: Range(59, 81), items: [59, 76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(339, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 433), items: [430], want_response: true }, ItemSet { range: Range(433, 482), items: [442], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 489, 502, 609, 628], provide: [(232, true), (233, true), (657, true), (690, true), (761, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 59), items: [23, 27, 52], want_response: false }, ItemSet { range: Range(59, 81), items: [59], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(339, 430), items: [339, 355, 370, 371, 377, 422], want_response: false }, ItemSet { range: Range(430, 433), items: [], want_response: false }, ItemSet { range: Range(433, 482), items: [433, 454, 459, 471, 476], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [121, 129, 174, 482, 522, 526, 7, 24, 76, 385, 430, 442, 578, 591, 768, 777, 806], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (168, true), (489, true), (502, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(121, true), (129, true), (174, true), (482, true), (522, true), (526, true), (7, true), (24, true), (76, true), (385, true), (430, true), (442, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 24, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 489, 502, 609, 628, 23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 657, 690, 761, 825, 829, 914, 931, 967, 121, 129, 174, 482, 522, 526, 7, 24, 76, 385, 430, 442, 578, 591, 768, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(32, SumMonoid(16655)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 377), fp: EncodedCountingMonoid(8, SumMonoid(1031)) }, Fingerprint { range: Range(377, 531), fp: EncodedCountingMonoid(7, SumMonoid(3164)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(9, SumMonoid(5643)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(8, SumMonoid(6817)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 245), fp: EncodedCountingMonoid(17, SumMonoid(2505)) }, Fingerprint { range: Range(245, 377), fp: EncodedCountingMonoid(16, SumMonoid(4824)) }, Fingerprint { range: Range(377, 471), fp: EncodedCountingMonoid(5, SumMonoid(2145)) }, Fingerprint { range: Range(471, 531), fp: EncodedCountingMonoid(4, SumMonoid(1938)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 129), fp: EncodedCountingMonoid(4, SumMonoid(263)) }, Fingerprint { range: Range(129, 245), fp: EncodedCountingMonoid(4, SumMonoid(768)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [ItemSet { range: Range(245, 377), items: [], want_response: true }, ItemSet { range: Range(377, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 471), items: [430, 442], want_response: true }, ItemSet { range: Range(471, 526), items: [482, 522], want_response: true }, ItemSet { range: Range(526, 531), items: [526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 129), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(129, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 245), fp: EncodedCountingMonoid(5, SumMonoid(1126)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(245, 377), items: [245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371], want_response: false }, ItemSet { range: Range(377, 430), items: [377, 422], want_response: false }, ItemSet { range: Range(430, 471), items: [433, 454, 459], want_response: false }, ItemSet { range: Range(471, 526), items: [471, 476, 489, 502], want_response: false }, ItemSet { range: Range(526, 531), items: [], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [385, 430, 442, 482, 522, 526, 657, 690, 761, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 129), items: [121], want_response: true }, ItemSet { range: Range(129, 203), items: [129, 174], want_response: true }, ItemSet { range: Range(203, 245), items: [232, 233], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628], provide: [(385, true), (430, true), (442, true), (482, true), (522, true), (526, true), (657, true), (690, true), (761, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 203), items: [168, 178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 245), items: [203, 217, 223, 240, 243], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [7, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806], provide: [(245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(7, true), (76, true), (121, true), (129, true), (174, true), (232, true), (233, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 522, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [385, 430, 442, 482, 522, 526, 657, 690, 761, 825, 829, 914, 931, 967, 7, 76, 121, 129, 174, 232, 233, 578, 591, 768, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(31, SumMonoid(16133)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 233), fp: EncodedCountingMonoid(7, SumMonoid(798)) }, Fingerprint { range: Range(233, 531), fp: EncodedCountingMonoid(7, SumMonoid(2875)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(9, SumMonoid(5643)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(8, SumMonoid(6817)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 233), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(233, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(121, 178), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(339, 442), fp: EncodedCountingMonoid(3, SumMonoid(1192)) }, Fingerprint { range: Range(442, 531), fp: EncodedCountingMonoid(3, SumMonoid(1450)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [ItemSet { range: Range(178, 233), items: [232], want_response: true }, ItemSet { range: Range(233, 339), items: [233], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(339, 377), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(442, 476), fp: EncodedCountingMonoid(3, SumMonoid(1384)) }, Fingerprint { range: Range(476, 531), fp: EncodedCountingMonoid(3, SumMonoid(1467)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(178, 233), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(121, 178), items: [168], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 233, 657, 690, 761, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(339, 377), items: [], want_response: true }, ItemSet { range: Range(377, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 442), items: [430], want_response: true }, ItemSet { range: Range(442, 476), items: [442], want_response: true }, ItemSet { range: Range(476, 531), items: [482, 526], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628], provide: [(232, true), (233, true), (657, true), (690, true), (761, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(339, 377), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(377, 430), items: [377, 422], want_response: false }, ItemSet { range: Range(430, 442), items: [433], want_response: false }, ItemSet { range: Range(442, 476), items: [454, 459, 471], want_response: false }, ItemSet { range: Range(476, 531), items: [476, 489, 502], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [121, 129, 174, 7, 76, 385, 430, 442, 482, 526, 578, 591, 768, 777, 806], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (168, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(121, true), (129, true), (174, true), (7, true), (76, true), (385, true), (430, true), (442, true), (482, true), (526, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 482, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628, 23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 657, 690, 761, 825, 829, 914, 931, 967, 121, 129, 174, 7, 76, 385, 430, 442, 482, 526, 578, 591, 768, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(30, SumMonoid(15651)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 233), fp: EncodedCountingMonoid(7, SumMonoid(798)) }, Fingerprint { range: Range(233, 531), fp: EncodedCountingMonoid(6, SumMonoid(2393)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(9, SumMonoid(5643)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(8, SumMonoid(6817)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 233), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(233, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(121, 178), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(339, 442), fp: EncodedCountingMonoid(3, SumMonoid(1192)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 825), fp: EncodedCountingMonoid(3, SumMonoid(2351)) }], item_sets: [ItemSet { range: Range(178, 233), items: [232], want_response: true }, ItemSet { range: Range(233, 339), items: [233], want_response: true }, ItemSet { range: Range(442, 531), items: [442, 526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(339, 377), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(768, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(178, 233), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(121, 178), items: [168], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 233, 442, 526, 657, 690, 761, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(339, 377), items: [], want_response: true }, ItemSet { range: Range(377, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 442), items: [430], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(768, 802), items: [768, 777], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628], provide: [(232, true), (233, true), (442, true), (526, true), (657, true), (690, true), (761, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(339, 377), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(377, 430), items: [377, 422], want_response: false }, ItemSet { range: Range(430, 442), items: [433], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [121, 129, 174, 7, 76, 385, 430, 578, 591, 768, 777, 806], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (168, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(121, true), (129, true), (174, true), (7, true), (76, true), (385, true), (430, true), (578, true), (591, true), (768, true), (777, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 777, 806, 825, 829, 914, 931, 967} + [977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628, 23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 442, 526, 657, 690, 761, 825, 829, 914, 931, 967, 121, 129, 174, 7, 76, 385, 430, 578, 591, 768, 777, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(29, SumMonoid(14874)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 233), fp: EncodedCountingMonoid(7, SumMonoid(798)) }, Fingerprint { range: Range(233, 531), fp: EncodedCountingMonoid(6, SumMonoid(2393)) }, Fingerprint { range: Range(531, 761), fp: EncodedCountingMonoid(8, SumMonoid(4882)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(8, SumMonoid(6801)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 233), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(233, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(121, 178), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(339, 442), fp: EncodedCountingMonoid(3, SumMonoid(1192)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(178, 233), items: [232], want_response: true }, ItemSet { range: Range(233, 339), items: [233], want_response: true }, ItemSet { range: Range(442, 531), items: [442, 526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(339, 377), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(178, 233), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(121, 178), items: [168], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 233, 442, 526, 657, 690, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(339, 377), items: [], want_response: true }, ItemSet { range: Range(377, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 442), items: [430], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628], provide: [(232, true), (233, true), (442, true), (526, true), (657, true), (690, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(339, 377), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(377, 430), items: [377, 422], want_response: false }, ItemSet { range: Range(430, 442), items: [433], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [121, 129, 174, 7, 76, 385, 430, 578, 591, 761, 768, 806], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (168, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(121, true), (129, true), (174, true), (7, true), (76, true), (385, true), (430, true), (578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628, 23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 442, 526, 657, 690, 825, 829, 914, 931, 967, 121, 129, 174, 7, 76, 385, 430, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 932), fp: EncodedCountingMonoid(28, SumMonoid(13907)) }], item_sets: [ItemSet { range: Range(932, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 502), fp: EncodedCountingMonoid(41, SumMonoid(10910)) }, Fingerprint { range: Range(502, 932), fp: EncodedCountingMonoid(41, SumMonoid(29489)) }], item_sets: [ItemSet { range: Range(932, 7), items: [936, 963, 977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 232), fp: EncodedCountingMonoid(6, SumMonoid(566)) }, Fingerprint { range: Range(232, 502), fp: EncodedCountingMonoid(6, SumMonoid(2099)) }, Fingerprint { range: Range(502, 690), fp: EncodedCountingMonoid(8, SumMonoid(4718)) }, Fingerprint { range: Range(690, 932), fp: EncodedCountingMonoid(8, SumMonoid(6524)) }], item_sets: [], wants: [936, 963, 977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 232), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(232, 332), fp: EncodedCountingMonoid(13, SumMonoid(3540)) }, Fingerprint { range: Range(332, 502), fp: EncodedCountingMonoid(13, SumMonoid(5348)) }, Fingerprint { range: Range(502, 602), fp: EncodedCountingMonoid(9, SumMonoid(5006)) }, Fingerprint { range: Range(602, 690), fp: EncodedCountingMonoid(9, SumMonoid(5726)) }, Fingerprint { range: Range(690, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 932), fp: EncodedCountingMonoid(11, SumMonoid(9741)) }], item_sets: [], wants: [], provide: [(936, true), (963, true), (977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(121, 178), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(502, 591), fp: EncodedCountingMonoid(3, SumMonoid(1666)) }], item_sets: [ItemSet { range: Range(178, 232), items: [], want_response: true }, ItemSet { range: Range(232, 332), items: [232, 233], want_response: true }, ItemSet { range: Range(332, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 502), items: [430, 442], want_response: true }, ItemSet { range: Range(591, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 657), items: [602, 607], want_response: true }, ItemSet { range: Range(657, 690), items: [657], want_response: true }, ItemSet { range: Range(690, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 815), items: [768, 806], want_response: true }, ItemSet { range: Range(815, 914), items: [825, 829], want_response: true }, ItemSet { range: Range(914, 932), items: [914, 931], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(502, 562), fp: EncodedCountingMonoid(4, SumMonoid(2125)) }, Fingerprint { range: Range(562, 591), fp: EncodedCountingMonoid(4, SumMonoid(2285)) }], item_sets: [ItemSet { range: Range(178, 232), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 332), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317], want_response: false }, ItemSet { range: Range(332, 430), items: [332, 339, 355, 370, 371, 377, 422], want_response: false }, ItemSet { range: Range(430, 502), items: [433, 454, 459, 471, 476, 489], want_response: false }, ItemSet { range: Range(591, 602), items: [596], want_response: false }, ItemSet { range: Range(602, 657), items: [602, 606, 609, 628, 641, 642], want_response: false }, ItemSet { range: Range(657, 690), items: [660, 664, 674], want_response: false }, ItemSet { range: Range(690, 768), items: [693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 815), items: [770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 914), items: [815, 849, 860, 862, 892, 895, 896, 897], want_response: false }, ItemSet { range: Range(914, 932), items: [922, 926, 927], want_response: false }, ItemSet { range: Range(121, 178), items: [168], want_response: true }], wants: [232, 233, 385, 430, 442, 591, 595, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(502, 562), items: [526], want_response: true }, ItemSet { range: Range(562, 591), items: [562, 578], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 168], provide: [(232, true), (233, true), (385, true), (430, true), (442, true), (591, true), (595, true), (607, true), (657, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (914, true), (931, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(502, 562), items: [502, 531, 544, 548], want_response: false }, ItemSet { range: Range(562, 591), items: [562, 567, 569, 587], want_response: false }], wants: [121, 129, 174, 7, 76, 526, 578], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (168, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 502, 531, 544, 548, 567, 569, 587], provide: [(121, true), (129, true), (174, true), (7, true), (76, true), (526, true), (578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (502, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931} + [936, 963, 977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 168, 23, 27, 52, 81, 90, 117, 502, 531, 544, 548, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 385, 430, 442, 591, 595, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 121, 129, 174, 7, 76, 526, 578] [INFO] [stdout] [INFO] [stdout] all vec: [7, 23, 27, 52, 59, 76, 81, 90, 117, 121, 129, 168, 174, 178, 189, 194, 201, 203, 217, 223, 232, 233, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 385, 422, 430, 433, 442, 454, 459, 471, 476, 489, 502, 526, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 657, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 914, 922, 926, 927, 931, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 23, 27, 52, 59, 76, 81, 90, 117, 121, 129, 168, 174, 178, 189, 194, 201, 203, 217, 223, 232, 233, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 385, 422, 430, 433, 442, 454, 459, 471, 476, 489, 502, 526, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 657, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 914, 922, 926, 927, 931, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 23, 27, 52, 59, 76, 81, 90, 117, 121, 129, 168, 174, 178, 189, 194, 201, 203, 217, 223, 232, 233, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 385, 422, 430, 433, 442, 454, 459, 471, 476, 489, 502, 526, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 657, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 914, 922, 926, 927, 931, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(29, SumMonoid(14874)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 233), fp: EncodedCountingMonoid(7, SumMonoid(798)) }, Fingerprint { range: Range(233, 531), fp: EncodedCountingMonoid(6, SumMonoid(2393)) }, Fingerprint { range: Range(531, 761), fp: EncodedCountingMonoid(8, SumMonoid(4882)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(8, SumMonoid(6801)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 233), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(233, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(121, 178), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(339, 442), fp: EncodedCountingMonoid(3, SumMonoid(1192)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(178, 233), items: [232], want_response: true }, ItemSet { range: Range(233, 339), items: [233], want_response: true }, ItemSet { range: Range(442, 531), items: [442, 526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(339, 377), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(178, 233), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(233, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(121, 178), items: [168], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 233, 442, 526, 657, 690, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(339, 377), items: [], want_response: true }, ItemSet { range: Range(377, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 442), items: [430], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628], provide: [(232, true), (233, true), (442, true), (526, true), (657, true), (690, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(339, 377), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(377, 430), items: [377, 422], want_response: false }, ItemSet { range: Range(430, 442), items: [433], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [121, 129, 174, 7, 76, 385, 430, 578, 591, 761, 768, 806], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (168, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(121, true), (129, true), (174, true), (7, true), (76, true), (385, true), (430, true), (578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 174, 232, 233, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628, 23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 233, 442, 526, 657, 690, 825, 829, 914, 931, 967, 121, 129, 174, 7, 76, 385, 430, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 174, 232, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(28, SumMonoid(14641)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 232), fp: EncodedCountingMonoid(6, SumMonoid(566)) }, Fingerprint { range: Range(232, 531), fp: EncodedCountingMonoid(6, SumMonoid(2392)) }, Fingerprint { range: Range(531, 761), fp: EncodedCountingMonoid(8, SumMonoid(4882)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(8, SumMonoid(6801)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 232), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(232, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(121, 178), fp: EncodedCountingMonoid(3, SumMonoid(424)) }, Fingerprint { range: Range(339, 442), fp: EncodedCountingMonoid(3, SumMonoid(1192)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(178, 232), items: [], want_response: true }, ItemSet { range: Range(232, 339), items: [232], want_response: true }, ItemSet { range: Range(442, 531), items: [442, 526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(339, 377), fp: EncodedCountingMonoid(4, SumMonoid(1435)) }, Fingerprint { range: Range(377, 442), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(178, 232), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(121, 178), items: [168], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [232, 442, 526, 657, 690, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129, 174], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(339, 377), items: [], want_response: true }, ItemSet { range: Range(377, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 442), items: [430], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628], provide: [(232, true), (442, true), (526, true), (657, true), (690, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(339, 377), items: [339, 355, 370, 371], want_response: false }, ItemSet { range: Range(377, 430), items: [377, 422], want_response: false }, ItemSet { range: Range(430, 442), items: [433], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [121, 129, 174, 7, 76, 385, 430, 578, 591, 761, 768, 806], provide: [(178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (168, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(121, true), (129, true), (174, true), (7, true), (76, true), (385, true), (430, true), (578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 174, 232, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 168, 609, 628, 23, 27, 52, 81, 90, 117, 339, 355, 370, 371, 422, 433, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [232, 442, 526, 657, 690, 825, 829, 914, 931, 967, 121, 129, 174, 7, 76, 385, 430, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 232, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(27, SumMonoid(14467)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 377), fp: EncodedCountingMonoid(6, SumMonoid(624)) }, Fingerprint { range: Range(377, 531), fp: EncodedCountingMonoid(5, SumMonoid(2160)) }, Fingerprint { range: Range(531, 761), fp: EncodedCountingMonoid(8, SumMonoid(4882)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(8, SumMonoid(6801)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 245), fp: EncodedCountingMonoid(17, SumMonoid(2505)) }, Fingerprint { range: Range(245, 377), fp: EncodedCountingMonoid(16, SumMonoid(4824)) }, Fingerprint { range: Range(377, 471), fp: EncodedCountingMonoid(5, SumMonoid(2145)) }, Fingerprint { range: Range(471, 531), fp: EncodedCountingMonoid(4, SumMonoid(1938)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(121, 245), fp: EncodedCountingMonoid(3, SumMonoid(482)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(245, 377), items: [], want_response: true }, ItemSet { range: Range(377, 430), items: [377, 385], want_response: true }, ItemSet { range: Range(430, 471), items: [430, 442], want_response: true }, ItemSet { range: Range(471, 531), items: [526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(121, 203), fp: EncodedCountingMonoid(5, SumMonoid(930)) }, Fingerprint { range: Range(203, 245), fp: EncodedCountingMonoid(5, SumMonoid(1126)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(245, 377), items: [245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371], want_response: false }, ItemSet { range: Range(377, 430), items: [377, 422], want_response: false }, ItemSet { range: Range(430, 471), items: [433, 454, 459], want_response: false }, ItemSet { range: Range(471, 531), items: [471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [385, 430, 442, 526, 657, 690, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(121, 203), items: [121, 129], want_response: true }, ItemSet { range: Range(203, 245), items: [232], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628], provide: [(385, true), (430, true), (442, true), (526, true), (657, true), (690, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(121, 203), items: [168, 178, 189, 194, 201], want_response: false }, ItemSet { range: Range(203, 245), items: [203, 217, 223, 240, 243], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [7, 76, 121, 129, 232, 578, 591, 761, 768, 806], provide: [(245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(7, true), (76, true), (121, true), (129, true), (232, true), (578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 232, 377, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [385, 430, 442, 526, 657, 690, 825, 829, 914, 931, 967, 7, 76, 121, 129, 232, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 232, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(26, SumMonoid(14090)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 232), fp: EncodedCountingMonoid(5, SumMonoid(392)) }, Fingerprint { range: Range(232, 531), fp: EncodedCountingMonoid(5, SumMonoid(2015)) }, Fingerprint { range: Range(531, 761), fp: EncodedCountingMonoid(8, SumMonoid(4882)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(8, SumMonoid(6801)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 232), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(232, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129], want_response: true }, ItemSet { range: Range(178, 232), items: [], want_response: true }, ItemSet { range: Range(232, 339), items: [232], want_response: true }, ItemSet { range: Range(339, 442), items: [385, 430], want_response: true }, ItemSet { range: Range(442, 531), items: [442, 526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(121, 178), items: [168], want_response: false }, ItemSet { range: Range(178, 232), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(339, 442), items: [339, 355, 370, 371, 377, 422, 433], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [121, 129, 232, 385, 430, 442, 526, 657, 690, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628], provide: [(121, true), (129, true), (232, true), (385, true), (430, true), (442, true), (526, true), (657, true), (690, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [7, 76, 578, 591, 761, 768, 806], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(7, true), (76, true), (578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 232, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628, 23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 129, 232, 385, 430, 442, 526, 657, 690, 825, 829, 914, 931, 967, 7, 76, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 232, 385, 430, 442, 526, 562, 578, 591, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(25, SumMonoid(13495)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 232), fp: EncodedCountingMonoid(5, SumMonoid(392)) }, Fingerprint { range: Range(232, 531), fp: EncodedCountingMonoid(5, SumMonoid(2015)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(8, SumMonoid(5048)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(7, SumMonoid(6040)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 232), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(232, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(531, 602), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129], want_response: true }, ItemSet { range: Range(178, 232), items: [], want_response: true }, ItemSet { range: Range(232, 339), items: [232], want_response: true }, ItemSet { range: Range(339, 442), items: [385, 430], want_response: true }, ItemSet { range: Range(442, 531), items: [442, 526], want_response: true }, ItemSet { range: Range(602, 641), items: [602, 607], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(761, 768), items: [761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 602), fp: EncodedCountingMonoid(4, SumMonoid(2319)) }], item_sets: [ItemSet { range: Range(121, 178), items: [168], want_response: false }, ItemSet { range: Range(178, 232), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(339, 442), items: [339, 355, 370, 371, 377, 422, 433], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(602, 641), items: [602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 768), items: [], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }], wants: [121, 129, 232, 385, 430, 442, 526, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 602), items: [578, 591], want_response: true }], wants: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(121, true), (129, true), (232, true), (385, true), (430, true), (442, true), (526, true), (607, true), (657, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 602), items: [567, 569, 587, 596], want_response: false }], wants: [7, 76, 578, 591], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587, 596], provide: [(7, true), (76, true), (578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 232, 385, 430, 442, 526, 562, 578, 591, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 129, 232, 385, 430, 442, 526, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967, 7, 76, 578, 591] [INFO] [stdout] [INFO] [stdout] all vec: [7, 23, 27, 52, 59, 76, 81, 90, 117, 121, 129, 168, 178, 189, 194, 201, 203, 217, 223, 232, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 385, 422, 430, 433, 442, 454, 459, 471, 476, 489, 502, 526, 531, 544, 548, 562, 567, 569, 578, 587, 591, 596, 602, 606, 607, 609, 628, 641, 642, 657, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 914, 922, 926, 927, 931, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 23, 27, 52, 59, 76, 81, 90, 117, 121, 129, 168, 178, 189, 194, 201, 203, 217, 223, 232, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 385, 422, 430, 433, 442, 454, 459, 471, 476, 489, 502, 526, 531, 544, 548, 562, 567, 569, 578, 587, 591, 596, 602, 606, 607, 609, 628, 641, 642, 657, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 914, 922, 926, 927, 931, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 23, 27, 52, 59, 76, 81, 90, 117, 121, 129, 168, 178, 189, 194, 201, 203, 217, 223, 232, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 385, 422, 430, 433, 442, 454, 459, 471, 476, 489, 502, 526, 531, 544, 548, 562, 567, 569, 578, 587, 591, 596, 602, 606, 607, 609, 628, 641, 642, 657, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 914, 922, 926, 927, 931, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 232, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(26, SumMonoid(14090)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 232), fp: EncodedCountingMonoid(5, SumMonoid(392)) }, Fingerprint { range: Range(232, 531), fp: EncodedCountingMonoid(5, SumMonoid(2015)) }, Fingerprint { range: Range(531, 761), fp: EncodedCountingMonoid(8, SumMonoid(4882)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(8, SumMonoid(6801)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 232), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(232, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 761), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129], want_response: true }, ItemSet { range: Range(178, 232), items: [], want_response: true }, ItemSet { range: Range(232, 339), items: [232], want_response: true }, ItemSet { range: Range(339, 442), items: [385, 430], want_response: true }, ItemSet { range: Range(442, 531), items: [442, 526], want_response: true }, ItemSet { range: Range(641, 761), items: [657, 690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(121, 178), items: [168], want_response: false }, ItemSet { range: Range(178, 232), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(339, 442), items: [339, 355, 370, 371, 377, 422, 433], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 761), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [121, 129, 232, 385, 430, 442, 526, 657, 690, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628], provide: [(121, true), (129, true), (232, true), (385, true), (430, true), (442, true), (526, true), (657, true), (690, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [7, 76, 578, 591, 761, 768, 806], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815], provide: [(7, true), (76, true), (578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 232, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 657, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628, 23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 129, 232, 385, 430, 442, 526, 657, 690, 825, 829, 914, 931, 967, 7, 76, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 232, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(25, SumMonoid(13433)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 232), fp: EncodedCountingMonoid(5, SumMonoid(392)) }, Fingerprint { range: Range(232, 531), fp: EncodedCountingMonoid(5, SumMonoid(2015)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(8, SumMonoid(4986)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(7, SumMonoid(6040)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 232), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(232, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129], want_response: true }, ItemSet { range: Range(178, 232), items: [], want_response: true }, ItemSet { range: Range(232, 339), items: [232], want_response: true }, ItemSet { range: Range(339, 442), items: [385, 430], want_response: true }, ItemSet { range: Range(442, 531), items: [442, 526], want_response: true }, ItemSet { range: Range(641, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(121, 178), items: [168], want_response: false }, ItemSet { range: Range(178, 232), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(339, 442), items: [339, 355, 370, 371, 377, 422, 433], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 768), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [121, 129, 232, 385, 430, 442, 526, 690, 761, 768, 806, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }], wants: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628], provide: [(121, true), (129, true), (232, true), (385, true), (430, true), (442, true), (526, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [7, 76, 578, 591], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587], provide: [(7, true), (76, true), (578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 232, 385, 430, 442, 526, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628, 23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 129, 232, 385, 430, 442, 526, 690, 761, 768, 806, 825, 829, 914, 931, 967, 7, 76, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 232, 385, 430, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(24, SumMonoid(12907)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 232), fp: EncodedCountingMonoid(5, SumMonoid(392)) }, Fingerprint { range: Range(232, 531), fp: EncodedCountingMonoid(4, SumMonoid(1489)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(8, SumMonoid(4986)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(7, SumMonoid(6040)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 178), fp: EncodedCountingMonoid(8, SumMonoid(617)) }, Fingerprint { range: Range(178, 232), fp: EncodedCountingMonoid(7, SumMonoid(1405)) }, Fingerprint { range: Range(232, 339), fp: EncodedCountingMonoid(14, SumMonoid(3872)) }, Fingerprint { range: Range(339, 531), fp: EncodedCountingMonoid(13, SumMonoid(5518)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 121), fp: EncodedCountingMonoid(3, SumMonoid(142)) }, Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(121, 178), items: [121, 129], want_response: true }, ItemSet { range: Range(178, 232), items: [], want_response: true }, ItemSet { range: Range(232, 339), items: [232], want_response: true }, ItemSet { range: Range(339, 442), items: [385, 430], want_response: true }, ItemSet { range: Range(442, 531), items: [442], want_response: true }, ItemSet { range: Range(641, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 121), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(121, 178), items: [168], want_response: false }, ItemSet { range: Range(178, 232), items: [178, 189, 194, 201, 203, 217, 223], want_response: false }, ItemSet { range: Range(232, 339), items: [240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332], want_response: false }, ItemSet { range: Range(339, 442), items: [339, 355, 370, 371, 377, 422, 433], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 768), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [121, 129, 232, 385, 430, 442, 690, 761, 768, 806, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 121), items: [], want_response: true }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }], wants: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628], provide: [(121, true), (129, true), (232, true), (385, true), (430, true), (442, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 121), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [7, 76, 578, 591], provide: [(168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587], provide: [(7, true), (76, true), (578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (531, true), (544, true), (548, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 232, 385, 430, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628, 23, 27, 52, 81, 90, 117, 531, 544, 548, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 129, 232, 385, 430, 442, 690, 761, 768, 806, 825, 829, 914, 931, 967, 7, 76, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 59, 76, 121, 129, 385, 430, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 968), fp: EncodedCountingMonoid(23, SumMonoid(12675)) }], item_sets: [ItemSet { range: Range(968, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 531), fp: EncodedCountingMonoid(42, SumMonoid(11412)) }, Fingerprint { range: Range(531, 968), fp: EncodedCountingMonoid(42, SumMonoid(30886)) }], item_sets: [ItemSet { range: Range(968, 7), items: [977, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 129), fp: EncodedCountingMonoid(4, SumMonoid(263)) }, Fingerprint { range: Range(129, 531), fp: EncodedCountingMonoid(4, SumMonoid(1386)) }, Fingerprint { range: Range(531, 768), fp: EncodedCountingMonoid(8, SumMonoid(4986)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(7, SumMonoid(6040)) }], item_sets: [], wants: [977, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 81), fp: EncodedCountingMonoid(4, SumMonoid(161)) }, Fingerprint { range: Range(81, 129), fp: EncodedCountingMonoid(3, SumMonoid(288)) }, Fingerprint { range: Range(129, 297), fp: EncodedCountingMonoid(18, SumMonoid(4188)) }, Fingerprint { range: Range(297, 531), fp: EncodedCountingMonoid(17, SumMonoid(6775)) }, Fingerprint { range: Range(531, 641), fp: EncodedCountingMonoid(12, SumMonoid(6949)) }, Fingerprint { range: Range(641, 768), fp: EncodedCountingMonoid(11, SumMonoid(7563)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(7, 76), items: [7, 59], want_response: true }, ItemSet { range: Range(76, 81), items: [76], want_response: true }, ItemSet { range: Range(81, 129), items: [121], want_response: true }, ItemSet { range: Range(129, 297), items: [129], want_response: true }, ItemSet { range: Range(297, 442), items: [385, 430], want_response: true }, ItemSet { range: Range(442, 531), items: [442], want_response: true }, ItemSet { range: Range(641, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(4, SumMonoid(2185)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(7, 76), items: [23, 27, 52, 59], want_response: false }, ItemSet { range: Range(76, 81), items: [], want_response: false }, ItemSet { range: Range(81, 129), items: [81, 90, 117], want_response: false }, ItemSet { range: Range(129, 297), items: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289], want_response: false }, ItemSet { range: Range(297, 442), items: [297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433], want_response: false }, ItemSet { range: Range(442, 531), items: [454, 459, 471, 476, 489, 502], want_response: false }, ItemSet { range: Range(641, 768), items: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [7, 76, 121, 129, 385, 430, 442, 690, 761, 768, 806, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(531, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [578, 591], want_response: true }], wants: [23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628], provide: [(7, true), (76, true), (121, true), (129, true), (385, true), (430, true), (442, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 567), items: [531, 544, 548, 562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [578, 591], provide: [(23, true), (27, true), (52, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 548, 567, 569, 587], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (548, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 59, 76, 121, 129, 385, 430, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 609, 628, 531, 544, 548, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [7, 76, 121, 129, 385, 430, 442, 690, 761, 768, 806, 825, 829, 914, 931, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 76, 121, 129, 385, 430, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(22, SumMonoid(12668)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 385), fp: EncodedCountingMonoid(4, SumMonoid(385)) }, Fingerprint { range: Range(385, 548), fp: EncodedCountingMonoid(3, SumMonoid(1257)) }, Fingerprint { range: Range(548, 768), fp: EncodedCountingMonoid(8, SumMonoid(4986)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(7, SumMonoid(6040)) }], item_sets: [], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 264), fp: EncodedCountingMonoid(16, SumMonoid(2897)) }, Fingerprint { range: Range(264, 385), fp: EncodedCountingMonoid(15, SumMonoid(4707)) }, Fingerprint { range: Range(385, 476), fp: EncodedCountingMonoid(5, SumMonoid(2239)) }, Fingerprint { range: Range(476, 548), fp: EncodedCountingMonoid(5, SumMonoid(2542)) }, Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 768), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(59, 121), items: [59, 76], want_response: true }, ItemSet { range: Range(121, 264), items: [121, 129], want_response: true }, ItemSet { range: Range(264, 385), items: [], want_response: true }, ItemSet { range: Range(385, 442), items: [385, 430], want_response: true }, ItemSet { range: Range(442, 476), items: [442], want_response: true }, ItemSet { range: Range(476, 548), items: [], want_response: true }, ItemSet { range: Range(642, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }], item_sets: [ItemSet { range: Range(59, 121), items: [59, 81, 90, 117], want_response: false }, ItemSet { range: Range(121, 264), items: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249], want_response: false }, ItemSet { range: Range(264, 385), items: [264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377], want_response: false }, ItemSet { range: Range(385, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 476), items: [454, 459, 471], want_response: false }, ItemSet { range: Range(476, 548), items: [476, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(642, 768), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [76, 121, 129, 385, 430, 442, 690, 761, 768, 806, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(76, true), (121, true), (129, true), (385, true), (430, true), (442, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }], wants: [578, 591], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 76, 121, 129, 385, 430, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [76, 121, 129, 385, 430, 442, 690, 761, 768, 806, 825, 829, 914, 931, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 121, 129, 385, 430, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(21, SumMonoid(12592)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 385), fp: EncodedCountingMonoid(3, SumMonoid(309)) }, Fingerprint { range: Range(385, 548), fp: EncodedCountingMonoid(3, SumMonoid(1257)) }, Fingerprint { range: Range(548, 768), fp: EncodedCountingMonoid(8, SumMonoid(4986)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(7, SumMonoid(6040)) }], item_sets: [], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 264), fp: EncodedCountingMonoid(16, SumMonoid(2897)) }, Fingerprint { range: Range(264, 385), fp: EncodedCountingMonoid(15, SumMonoid(4707)) }, Fingerprint { range: Range(385, 476), fp: EncodedCountingMonoid(5, SumMonoid(2239)) }, Fingerprint { range: Range(476, 548), fp: EncodedCountingMonoid(5, SumMonoid(2542)) }, Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 768), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(59, 129), items: [59, 121], want_response: true }, ItemSet { range: Range(129, 264), items: [129], want_response: true }, ItemSet { range: Range(264, 385), items: [], want_response: true }, ItemSet { range: Range(385, 442), items: [385, 430], want_response: true }, ItemSet { range: Range(442, 476), items: [442], want_response: true }, ItemSet { range: Range(476, 548), items: [], want_response: true }, ItemSet { range: Range(642, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }], item_sets: [ItemSet { range: Range(59, 129), items: [59, 81, 90, 117], want_response: false }, ItemSet { range: Range(129, 264), items: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249], want_response: false }, ItemSet { range: Range(264, 385), items: [264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377], want_response: false }, ItemSet { range: Range(385, 442), items: [422, 433], want_response: false }, ItemSet { range: Range(442, 476), items: [454, 459, 471], want_response: false }, ItemSet { range: Range(476, 548), items: [476, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(642, 768), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [121, 129, 385, 430, 442, 690, 761, 768, 806, 825, 829, 914, 931, 967], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(121, true), (129, true), (385, true), (430, true), (442, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }], wants: [578, 591], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 121, 129, 385, 430, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 129, 385, 430, 442, 690, 761, 768, 806, 825, 829, 914, 931, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 121, 129, 385, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(20, SumMonoid(12162)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 385), fp: EncodedCountingMonoid(3, SumMonoid(309)) }, Fingerprint { range: Range(548, 768), fp: EncodedCountingMonoid(8, SumMonoid(4986)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(7, SumMonoid(6040)) }], item_sets: [ItemSet { range: Range(385, 548), items: [385, 442], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 264), fp: EncodedCountingMonoid(16, SumMonoid(2897)) }, Fingerprint { range: Range(264, 385), fp: EncodedCountingMonoid(15, SumMonoid(4707)) }, Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 768), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(385, 548), items: [422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [385, 442], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(59, 129), items: [59, 121], want_response: true }, ItemSet { range: Range(129, 264), items: [129], want_response: true }, ItemSet { range: Range(264, 385), items: [], want_response: true }, ItemSet { range: Range(642, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 967), items: [914, 931], want_response: true }, ItemSet { range: Range(967, 968), items: [967], want_response: true }], wants: [422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(385, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }], item_sets: [ItemSet { range: Range(59, 129), items: [59, 81, 90, 117], want_response: false }, ItemSet { range: Range(129, 264), items: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249], want_response: false }, ItemSet { range: Range(264, 385), items: [264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377], want_response: false }, ItemSet { range: Range(642, 768), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 967), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(967, 968), items: [], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [121, 129, 690, 761, 768, 806, 825, 829, 914, 931, 967], provide: [(422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(121, true), (129, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (914, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }], wants: [578, 591], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 121, 129, 385, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 914, 931, 967} + [977, 990, 23, 27, 52, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [385, 442, 121, 129, 690, 761, 768, 806, 825, 829, 914, 931, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 121, 129, 385, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(19, SumMonoid(11248)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 385), fp: EncodedCountingMonoid(3, SumMonoid(309)) }, Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(7, SumMonoid(4225)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(7, SumMonoid(5887)) }], item_sets: [ItemSet { range: Range(385, 548), items: [385, 442], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 264), fp: EncodedCountingMonoid(16, SumMonoid(2897)) }, Fingerprint { range: Range(264, 385), fp: EncodedCountingMonoid(15, SumMonoid(4707)) }, Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(385, 548), items: [422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [385, 442], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(59, 129), items: [59, 121], want_response: true }, ItemSet { range: Range(129, 264), items: [129], want_response: true }, ItemSet { range: Range(264, 385), items: [], want_response: true }, ItemSet { range: Range(642, 761), items: [690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(385, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(59, 129), items: [59, 81, 90, 117], want_response: false }, ItemSet { range: Range(129, 264), items: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249], want_response: false }, ItemSet { range: Range(264, 385), items: [264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377], want_response: false }, ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [121, 129, 690, 825, 829, 931, 967], provide: [(422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(121, true), (129, true), (690, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [578, 591, 761, 768, 806], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815], provide: [(578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 121, 129, 385, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [385, 442, 121, 129, 690, 825, 829, 931, 967, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 121, 129, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(18, SumMonoid(10863)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(7, SumMonoid(4225)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(7, SumMonoid(5887)) }], item_sets: [ItemSet { range: Range(59, 129), items: [59, 121], want_response: true }, ItemSet { range: Range(129, 548), items: [129, 442], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 129), items: [59, 81, 90, 117], want_response: false }, ItemSet { range: Range(129, 548), items: [168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [121, 129, 442], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(642, 761), items: [690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(121, true), (129, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [690, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(690, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [578, 591, 761, 768, 806], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815], provide: [(578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 121, 129, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 129, 442, 690, 825, 829, 931, 967, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 121, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(17, SumMonoid(10734)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(7, SumMonoid(4225)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(7, SumMonoid(5887)) }], item_sets: [ItemSet { range: Range(59, 442), items: [59, 121], want_response: true }, ItemSet { range: Range(442, 548), items: [442], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 442), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433], want_response: false }, ItemSet { range: Range(442, 548), items: [454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [121, 442], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(642, 761), items: [690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(121, true), (442, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [690, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(690, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [578, 591, 761, 768, 806], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815], provide: [(578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 121, 442, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 442, 690, 825, 829, 931, 967, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 121, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(16, SumMonoid(10292)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(7, SumMonoid(4225)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(7, SumMonoid(5887)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 121], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [121], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(642, 761), items: [690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(121, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [690, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(690, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [578, 591, 761, 768, 806], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815], provide: [(578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 121, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 690, 825, 829, 931, 967, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 121, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(15, SumMonoid(9730)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 768), fp: EncodedCountingMonoid(7, SumMonoid(4424)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(6, SumMonoid(5126)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 121], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 768), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [121], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1764)) }], item_sets: [ItemSet { range: Range(602, 642), items: [602, 607], want_response: true }, ItemSet { range: Range(642, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(121, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 642), items: [602, 606, 609, 628, 641], want_response: false }, ItemSet { range: Range(642, 768), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 690, 761, 768, 806, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [], want_response: true }, ItemSet { range: Range(569, 595), items: [578, 591], want_response: true }, ItemSet { range: Range(595, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: false }, ItemSet { range: Range(595, 602), items: [596], want_response: false }], wants: [578, 591, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 562, 567, 569, 587, 596], provide: [(578, true), (591, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (562, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 121, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 548, 562, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 607, 690, 761, 768, 806, 825, 829, 931, 967, 578, 591, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 121, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 121, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 121, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 121, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(16, SumMonoid(10292)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(7, SumMonoid(4225)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(7, SumMonoid(5887)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 121], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [121], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(642, 761), items: [690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(121, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [690, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(690, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [578, 591, 761, 768, 806], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815], provide: [(578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 121, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [121, 690, 825, 829, 931, 967, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(15, SumMonoid(10171)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(7, SumMonoid(4225)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(7, SumMonoid(5887)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(642, 761), items: [690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [690, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(690, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [578, 591, 761, 768, 806], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815], provide: [(578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [690, 825, 829, 931, 967, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(14, SumMonoid(9569)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 768), fp: EncodedCountingMonoid(7, SumMonoid(4384)) }, Fingerprint { range: Range(768, 968), fp: EncodedCountingMonoid(6, SumMonoid(5126)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 768), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(768, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(595, 642), items: [595, 607], want_response: true }, ItemSet { range: Range(642, 768), items: [690, 761], want_response: true }, ItemSet { range: Range(768, 825), items: [768, 806], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 642), items: [596, 602, 606, 609, 628, 641], want_response: false }, ItemSet { range: Range(642, 768), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 690, 761, 768, 806, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (607, true), (690, true), (761, true), (768, true), (806, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(596, true), (602, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 690, 761, 768, 806, 825, 829, 931, 967, 578, 591] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 690, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 806, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(15, SumMonoid(10171)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(7, SumMonoid(4225)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(7, SumMonoid(5887)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(761, 825), fp: EncodedCountingMonoid(3, SumMonoid(2335)) }], item_sets: [ItemSet { range: Range(642, 761), items: [690], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }, Fingerprint { range: Range(761, 802), fp: EncodedCountingMonoid(4, SumMonoid(3125)) }, Fingerprint { range: Range(802, 825), fp: EncodedCountingMonoid(3, SumMonoid(2424)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [690, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 825), items: [806], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(690, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 825), items: [802, 807, 815], want_response: false }], wants: [578, 591, 761, 768, 806], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815], provide: [(578, true), (591, true), (761, true), (768, true), (806, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 690, 761, 768, 806, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [690, 825, 829, 931, 967, 578, 591, 761, 768, 806] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 690, 761, 768, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(14, SumMonoid(9365)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(7, SumMonoid(4225)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(6, SumMonoid(5081)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(642, 761), items: [690], want_response: true }, ItemSet { range: Range(761, 825), items: [761, 768], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [690, 761, 768, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(690, true), (761, true), (768, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }], wants: [578, 591], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 690, 761, 768, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [690, 761, 768, 825, 829, 931, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 761, 768, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(13, SumMonoid(8675)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(6, SumMonoid(5081)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(642, 761), items: [], want_response: true }, ItemSet { range: Range(761, 825), items: [761, 768], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [761, 768, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(761, true), (768, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }], wants: [578, 591], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 761, 768, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [761, 768, 825, 829, 931, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {562, 578, 591, 595, 602, 607, 761, 768, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 968), fp: EncodedCountingMonoid(12, SumMonoid(8616)) }], item_sets: [ItemSet { range: Range(968, 562), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 770), fp: EncodedCountingMonoid(20, SumMonoid(12889)) }, Fingerprint { range: Range(770, 968), fp: EncodedCountingMonoid(19, SumMonoid(16374)) }], item_sets: [ItemSet { range: Range(968, 562), items: [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 602), fp: EncodedCountingMonoid(4, SumMonoid(2326)) }, Fingerprint { range: Range(602, 770), fp: EncodedCountingMonoid(4, SumMonoid(2738)) }], item_sets: [ItemSet { range: Range(770, 931), items: [825, 829], want_response: true }, ItemSet { range: Range(931, 968), items: [931, 967], want_response: true }], wants: [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 587), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(602, 674), fp: EncodedCountingMonoid(8, SumMonoid(5052)) }, Fingerprint { range: Range(674, 770), fp: EncodedCountingMonoid(7, SumMonoid(4956)) }], item_sets: [ItemSet { range: Range(770, 931), items: [770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927], want_response: false }, ItemSet { range: Range(931, 968), items: [936, 963], want_response: false }, ItemSet { range: Range(587, 602), items: [587, 596], want_response: true }], wants: [825, 829, 931, 967], provide: [(977, true), (990, true), (23, true), (27, true), (52, true), (59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (548, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(587, 602), items: [591, 595], want_response: false }, ItemSet { range: Range(562, 587), items: [562, 578], want_response: true }, ItemSet { range: Range(602, 674), items: [602, 607], want_response: true }, ItemSet { range: Range(674, 770), items: [761, 768], want_response: true }], wants: [770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 587, 596], provide: [(825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 587), items: [562, 567, 569], want_response: false }, ItemSet { range: Range(602, 674), items: [602, 606, 609, 628, 641, 642, 660, 664], want_response: false }, ItemSet { range: Range(674, 770), items: [674, 693, 694, 701, 703, 736, 755], want_response: false }], wants: [591, 595, 578, 607, 761, 768], provide: [(770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], provide: [(591, true), (595, true), (578, true), (607, true), (761, true), (768, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {562, 578, 591, 595, 602, 607, 761, 768, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 587, 596, 567, 569, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [825, 829, 931, 967, 591, 595, 578, 607, 761, 768] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 829, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 931, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 761, 768, 825, 829, 931, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(13, SumMonoid(8675)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(6, SumMonoid(5081)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(642, 761), items: [], want_response: true }, ItemSet { range: Range(761, 825), items: [761, 768], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [931, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [761, 768, 825, 829, 931, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(761, true), (768, true), (825, true), (829, true), (931, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }], wants: [578, 591], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 761, 768, 825, 829, 931, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [761, 768, 825, 829, 931, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 761, 768, 825, 829, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7744)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 761), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(761, 968), fp: EncodedCountingMonoid(5, SumMonoid(4150)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 642), fp: EncodedCountingMonoid(11, SumMonoid(6515)) }, Fingerprint { range: Range(642, 761), fp: EncodedCountingMonoid(10, SumMonoid(6922)) }, Fingerprint { range: Range(761, 892), fp: EncodedCountingMonoid(10, SumMonoid(8120)) }, Fingerprint { range: Range(892, 968), fp: EncodedCountingMonoid(9, SumMonoid(8254)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 642), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(642, 761), items: [], want_response: true }, ItemSet { range: Range(761, 825), items: [761, 768], want_response: true }, ItemSet { range: Range(825, 892), items: [825, 829], want_response: true }, ItemSet { range: Range(892, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }, Fingerprint { range: Range(609, 642), fp: EncodedCountingMonoid(3, SumMonoid(1878)) }], item_sets: [ItemSet { range: Range(642, 761), items: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 825), items: [770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(825, 892), items: [849, 860, 862], want_response: false }, ItemSet { range: Range(892, 968), items: [892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [761, 768, 825, 829, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(609, 642), items: [], want_response: true }], wants: [642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(761, true), (768, true), (825, true), (829, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(609, 642), items: [609, 628, 641], want_response: false }], wants: [578, 591], provide: [(642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 609, 628, 641], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (609, true), (628, true), (641, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 761, 768, 825, 829, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567, 609, 628, 641] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [761, 768, 825, 829, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 415, 562, 578, 591, 595, 602, 607, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7330)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 607), fp: EncodedCountingMonoid(5, SumMonoid(2928)) }, Fingerprint { range: Range(607, 968), fp: EncodedCountingMonoid(5, SumMonoid(3928)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 415], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 587), fp: EncodedCountingMonoid(4, SumMonoid(2246)) }, Fingerprint { range: Range(587, 607), fp: EncodedCountingMonoid(4, SumMonoid(2391)) }, Fingerprint { range: Range(607, 801), fp: EncodedCountingMonoid(16, SumMonoid(11124)) }, Fingerprint { range: Range(801, 968), fp: EncodedCountingMonoid(16, SumMonoid(14050)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [415], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [562, 578], want_response: true }, ItemSet { range: Range(587, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 607), items: [602], want_response: true }, ItemSet { range: Range(607, 768), items: [607, 761], want_response: true }, ItemSet { range: Range(768, 801), items: [768], want_response: true }, ItemSet { range: Range(801, 968), items: [825, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(415, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [548, 562, 567, 569], want_response: false }, ItemSet { range: Range(587, 602), items: [587, 596], want_response: false }, ItemSet { range: Range(602, 607), items: [602, 606], want_response: false }, ItemSet { range: Range(607, 768), items: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(801, 968), items: [801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [578, 591, 595, 607, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(578, true), (591, true), (595, true), (607, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 415, 562, 578, 591, 595, 602, 607, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [415, 578, 591, 595, 607, 761, 768, 825, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 415, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 415, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 415, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 622, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7537)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 622), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(622, 968), fp: EncodedCountingMonoid(5, SumMonoid(3943)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 596), fp: EncodedCountingMonoid(5, SumMonoid(2833)) }, Fingerprint { range: Range(596, 622), fp: EncodedCountingMonoid(4, SumMonoid(2413)) }, Fingerprint { range: Range(622, 802), fp: EncodedCountingMonoid(16, SumMonoid(11316)) }, Fingerprint { range: Range(802, 968), fp: EncodedCountingMonoid(15, SumMonoid(13249)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 591), items: [562, 578], want_response: true }, ItemSet { range: Range(591, 596), items: [591, 595], want_response: true }, ItemSet { range: Range(596, 622), items: [602, 607], want_response: true }, ItemSet { range: Range(622, 768), items: [622, 761], want_response: true }, ItemSet { range: Range(768, 802), items: [768], want_response: true }, ItemSet { range: Range(802, 968), items: [825, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 591), items: [548, 562, 567, 569, 587], want_response: false }, ItemSet { range: Range(591, 596), items: [], want_response: false }, ItemSet { range: Range(596, 622), items: [596, 602, 606, 609], want_response: false }, ItemSet { range: Range(622, 768), items: [628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 968), items: [802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [578, 591, 595, 607, 622, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(578, true), (591, true), (595, true), (607, true), (622, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 622, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [578, 591, 595, 607, 622, 761, 768, 825, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 622, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 622, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 622, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 726, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7641)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 726), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(726, 968), fp: EncodedCountingMonoid(5, SumMonoid(4047)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 726), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(726, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 726), items: [], want_response: true }, ItemSet { range: Range(726, 768), items: [726, 761], want_response: true }, ItemSet { range: Range(768, 862), items: [768, 825], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 726), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(726, 768), items: [736, 755], want_response: false }, ItemSet { range: Range(768, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [726, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(726, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 726, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [726, 761, 768, 825, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 674, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7589)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 674), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(674, 968), fp: EncodedCountingMonoid(5, SumMonoid(3995)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 606), fp: EncodedCountingMonoid(7, SumMonoid(4031)) }, Fingerprint { range: Range(606, 674), fp: EncodedCountingMonoid(7, SumMonoid(4450)) }, Fingerprint { range: Range(674, 815), fp: EncodedCountingMonoid(13, SumMonoid(9690)) }, Fingerprint { range: Range(815, 968), fp: EncodedCountingMonoid(13, SumMonoid(11640)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 674), items: [607], want_response: true }, ItemSet { range: Range(674, 768), items: [674, 761], want_response: true }, ItemSet { range: Range(768, 815), items: [768], want_response: true }, ItemSet { range: Range(815, 968), items: [825, 967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 674), items: [606, 609, 628, 641, 642, 660, 664], want_response: false }, ItemSet { range: Range(674, 768), items: [674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 815), items: [770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 968), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (607, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 674, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 761, 768, 825, 967, 578, 591] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 700, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7615)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 700), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(700, 968), fp: EncodedCountingMonoid(5, SumMonoid(4021)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 628), fp: EncodedCountingMonoid(9, SumMonoid(5246)) }, Fingerprint { range: Range(628, 700), fp: EncodedCountingMonoid(8, SumMonoid(5296)) }, Fingerprint { range: Range(700, 860), fp: EncodedCountingMonoid(12, SumMonoid(9293)) }, Fingerprint { range: Range(860, 968), fp: EncodedCountingMonoid(11, SumMonoid(9976)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 700), items: [], want_response: true }, ItemSet { range: Range(700, 768), items: [700, 761], want_response: true }, ItemSet { range: Range(768, 860), items: [768, 825], want_response: true }, ItemSet { range: Range(860, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(628, 700), items: [628, 641, 642, 660, 664, 674, 693, 694], want_response: false }, ItemSet { range: Range(700, 768), items: [701, 703, 736, 755], want_response: false }, ItemSet { range: Range(768, 860), items: [770, 774, 780, 801, 802, 807, 815, 849], want_response: false }, ItemSet { range: Range(860, 968), items: [860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [700, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609], provide: [(700, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591, 595, 607], provide: [(628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 700, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [700, 761, 768, 825, 967, 578, 591, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 700, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 700, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 700, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 713, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7628)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 713), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(713, 968), fp: EncodedCountingMonoid(5, SumMonoid(4034)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 713), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(713, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 713), items: [], want_response: true }, ItemSet { range: Range(713, 768), items: [713, 761], want_response: true }, ItemSet { range: Range(768, 862), items: [768, 825], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 713), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(713, 768), items: [736, 755], want_response: false }, ItemSet { range: Range(768, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [713, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(713, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 713, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [713, 761, 768, 825, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 707, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7622)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 707), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(707, 968), fp: EncodedCountingMonoid(5, SumMonoid(4028)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 707), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(707, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 707), items: [], want_response: true }, ItemSet { range: Range(707, 768), items: [707, 761], want_response: true }, ItemSet { range: Range(768, 862), items: [768, 825], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 707), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(707, 768), items: [736, 755], want_response: false }, ItemSet { range: Range(768, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [707, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(707, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 707, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [707, 761, 768, 825, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7619)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(4025)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 768), items: [704, 761], want_response: true }, ItemSet { range: Range(768, 862), items: [768, 825], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 768), items: [736, 755], want_response: false }, ItemSet { range: Range(768, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 761, 768, 825, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 702, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 702), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(702, 968), fp: EncodedCountingMonoid(5, SumMonoid(4023)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 628), fp: EncodedCountingMonoid(9, SumMonoid(5246)) }, Fingerprint { range: Range(628, 702), fp: EncodedCountingMonoid(9, SumMonoid(5997)) }, Fingerprint { range: Range(702, 860), fp: EncodedCountingMonoid(11, SumMonoid(8592)) }, Fingerprint { range: Range(860, 968), fp: EncodedCountingMonoid(11, SumMonoid(9976)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 702), items: [], want_response: true }, ItemSet { range: Range(702, 768), items: [702, 761], want_response: true }, ItemSet { range: Range(768, 860), items: [768, 825], want_response: true }, ItemSet { range: Range(860, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(628, 702), items: [628, 641, 642, 660, 664, 674, 693, 694, 701], want_response: false }, ItemSet { range: Range(702, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 860), items: [770, 774, 780, 801, 802, 807, 815, 849], want_response: false }, ItemSet { range: Range(860, 968), items: [860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [702, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609], provide: [(702, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591, 595, 607], provide: [(628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 702, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [702, 761, 768, 825, 967, 578, 591, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 702, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 702, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 702, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 703, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7618)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 703), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(703, 968), fp: EncodedCountingMonoid(5, SumMonoid(4024)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 628), fp: EncodedCountingMonoid(9, SumMonoid(5246)) }, Fingerprint { range: Range(628, 703), fp: EncodedCountingMonoid(9, SumMonoid(5997)) }, Fingerprint { range: Range(703, 860), fp: EncodedCountingMonoid(11, SumMonoid(8592)) }, Fingerprint { range: Range(860, 968), fp: EncodedCountingMonoid(11, SumMonoid(9976)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 703), items: [], want_response: true }, ItemSet { range: Range(703, 768), items: [703, 761], want_response: true }, ItemSet { range: Range(768, 860), items: [768, 825], want_response: true }, ItemSet { range: Range(860, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(628, 703), items: [628, 641, 642, 660, 664, 674, 693, 694, 701], want_response: false }, ItemSet { range: Range(703, 768), items: [703, 736, 755], want_response: false }, ItemSet { range: Range(768, 860), items: [770, 774, 780, 801, 802, 807, 815, 849], want_response: false }, ItemSet { range: Range(860, 968), items: [860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [628, 641, 642, 660, 664, 674, 693, 694, 701, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609], provide: [(761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591, 595, 607], provide: [(628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 703, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 628, 641, 642, 660, 664, 674, 693, 694, 701, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [761, 768, 825, 967, 578, 591, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 825, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 761, 768, 825, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7619)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(4025)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 768), items: [704, 761], want_response: true }, ItemSet { range: Range(768, 862), items: [768, 825], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 768), items: [736, 755], want_response: false }, ItemSet { range: Range(768, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 761, 768, 825, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (761, true), (768, true), (825, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 761, 768, 825, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 761, 768, 825, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 413, 562, 578, 591, 595, 602, 607, 704, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7207)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 607), fp: EncodedCountingMonoid(5, SumMonoid(2928)) }, Fingerprint { range: Range(607, 968), fp: EncodedCountingMonoid(5, SumMonoid(3807)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 413], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 587), fp: EncodedCountingMonoid(4, SumMonoid(2246)) }, Fingerprint { range: Range(587, 607), fp: EncodedCountingMonoid(4, SumMonoid(2391)) }, Fingerprint { range: Range(607, 801), fp: EncodedCountingMonoid(16, SumMonoid(11124)) }, Fingerprint { range: Range(801, 968), fp: EncodedCountingMonoid(16, SumMonoid(14050)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [413], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [562, 578], want_response: true }, ItemSet { range: Range(587, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 607), items: [602], want_response: true }, ItemSet { range: Range(607, 761), items: [607, 704], want_response: true }, ItemSet { range: Range(761, 801), items: [761, 768], want_response: true }, ItemSet { range: Range(801, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(413, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [548, 562, 567, 569], want_response: false }, ItemSet { range: Range(587, 602), items: [587, 596], want_response: false }, ItemSet { range: Range(602, 607), items: [602, 606], want_response: false }, ItemSet { range: Range(607, 761), items: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(801, 968), items: [801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [578, 591, 595, 607, 704, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(578, true), (591, true), (595, true), (607, true), (704, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 413, 562, 578, 591, 595, 602, 607, 704, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [413, 578, 591, 595, 607, 704, 761, 768, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 413, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 413, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 413, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 619, 704, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7413)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 619), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(619, 968), fp: EncodedCountingMonoid(5, SumMonoid(3819)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 596), fp: EncodedCountingMonoid(5, SumMonoid(2833)) }, Fingerprint { range: Range(596, 619), fp: EncodedCountingMonoid(4, SumMonoid(2413)) }, Fingerprint { range: Range(619, 802), fp: EncodedCountingMonoid(16, SumMonoid(11316)) }, Fingerprint { range: Range(802, 968), fp: EncodedCountingMonoid(15, SumMonoid(13249)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 591), items: [562, 578], want_response: true }, ItemSet { range: Range(591, 596), items: [591, 595], want_response: true }, ItemSet { range: Range(596, 619), items: [602, 607], want_response: true }, ItemSet { range: Range(619, 761), items: [619, 704], want_response: true }, ItemSet { range: Range(761, 802), items: [761, 768], want_response: true }, ItemSet { range: Range(802, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 591), items: [548, 562, 567, 569, 587], want_response: false }, ItemSet { range: Range(591, 596), items: [], want_response: false }, ItemSet { range: Range(596, 619), items: [596, 602, 606, 609], want_response: false }, ItemSet { range: Range(619, 761), items: [628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 802), items: [770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 968), items: [802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [578, 591, 595, 607, 619, 704, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(578, true), (591, true), (595, true), (607, true), (619, true), (704, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 619, 704, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [578, 591, 595, 607, 619, 704, 761, 768, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 619, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 619, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 619, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 722, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7516)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3922)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 761), items: [704, 722], want_response: true }, ItemSet { range: Range(761, 862), items: [761, 768], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 761), items: [736, 755], want_response: false }, ItemSet { range: Range(761, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 722, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (722, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 722, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 722, 761, 768, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 671, 704, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7465)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 671), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(671, 968), fp: EncodedCountingMonoid(5, SumMonoid(3871)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 606), fp: EncodedCountingMonoid(7, SumMonoid(4031)) }, Fingerprint { range: Range(606, 671), fp: EncodedCountingMonoid(7, SumMonoid(4450)) }, Fingerprint { range: Range(671, 815), fp: EncodedCountingMonoid(13, SumMonoid(9690)) }, Fingerprint { range: Range(815, 968), fp: EncodedCountingMonoid(13, SumMonoid(11640)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 671), items: [607], want_response: true }, ItemSet { range: Range(671, 761), items: [671, 704], want_response: true }, ItemSet { range: Range(761, 815), items: [761, 768], want_response: true }, ItemSet { range: Range(815, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 671), items: [606, 609, 628, 641, 642, 660, 664], want_response: false }, ItemSet { range: Range(671, 761), items: [674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 815), items: [770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 968), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 671, 704, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (607, true), (671, true), (704, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 671, 704, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 671, 704, 761, 768, 967, 578, 591] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 671, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 671, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 671, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 697, 704, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7491)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 697), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(697, 968), fp: EncodedCountingMonoid(5, SumMonoid(3897)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 628), fp: EncodedCountingMonoid(9, SumMonoid(5246)) }, Fingerprint { range: Range(628, 697), fp: EncodedCountingMonoid(8, SumMonoid(5296)) }, Fingerprint { range: Range(697, 860), fp: EncodedCountingMonoid(12, SumMonoid(9293)) }, Fingerprint { range: Range(860, 968), fp: EncodedCountingMonoid(11, SumMonoid(9976)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 697), items: [], want_response: true }, ItemSet { range: Range(697, 761), items: [697, 704], want_response: true }, ItemSet { range: Range(761, 860), items: [761, 768], want_response: true }, ItemSet { range: Range(860, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(628, 697), items: [628, 641, 642, 660, 664, 674, 693, 694], want_response: false }, ItemSet { range: Range(697, 761), items: [701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 860), items: [770, 774, 780, 801, 802, 807, 815, 849], want_response: false }, ItemSet { range: Range(860, 968), items: [860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [697, 704, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609], provide: [(697, true), (704, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591, 595, 607], provide: [(628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 697, 704, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [697, 704, 761, 768, 967, 578, 591, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 697, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 697, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 697, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 710, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7504)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3910)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 761), items: [704, 710], want_response: true }, ItemSet { range: Range(761, 862), items: [761, 768], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 761), items: [736, 755], want_response: false }, ItemSet { range: Range(761, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 710, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (710, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 710, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 710, 761, 768, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(11, SumMonoid(6794)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 607), fp: EncodedCountingMonoid(5, SumMonoid(2928)) }, Fingerprint { range: Range(607, 968), fp: EncodedCountingMonoid(5, SumMonoid(3807)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 587), fp: EncodedCountingMonoid(4, SumMonoid(2246)) }, Fingerprint { range: Range(587, 607), fp: EncodedCountingMonoid(4, SumMonoid(2391)) }, Fingerprint { range: Range(607, 801), fp: EncodedCountingMonoid(16, SumMonoid(11124)) }, Fingerprint { range: Range(801, 968), fp: EncodedCountingMonoid(16, SumMonoid(14050)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [562, 578], want_response: true }, ItemSet { range: Range(587, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 607), items: [602], want_response: true }, ItemSet { range: Range(607, 761), items: [607, 704], want_response: true }, ItemSet { range: Range(761, 801), items: [761, 768], want_response: true }, ItemSet { range: Range(801, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [548, 562, 567, 569], want_response: false }, ItemSet { range: Range(587, 602), items: [587, 596], want_response: false }, ItemSet { range: Range(602, 607), items: [602, 606], want_response: false }, ItemSet { range: Range(607, 761), items: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755], want_response: false }, ItemSet { range: Range(761, 801), items: [770, 774, 780], want_response: false }, ItemSet { range: Range(801, 968), items: [801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [578, 591, 595, 607, 704, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(578, true), (591, true), (595, true), (607, true), (704, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [578, 591, 595, 607, 704, 761, 768, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 736, 755, 761, 768, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 707, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7501)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3907)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 761), items: [704, 707], want_response: true }, ItemSet { range: Range(761, 862), items: [761, 768], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 761), items: [736, 755], want_response: false }, ItemSet { range: Range(761, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 707, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (707, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 707, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 707, 761, 768, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 706, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7500)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3906)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 761), items: [704, 706], want_response: true }, ItemSet { range: Range(761, 862), items: [761, 768], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 761), items: [736, 755], want_response: false }, ItemSet { range: Range(761, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 706, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (706, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 706, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 706, 761, 768, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 705, 761, 768, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7499)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3905)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 761), items: [704, 705], want_response: true }, ItemSet { range: Range(761, 862), items: [761, 768], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 761), items: [736, 755], want_response: false }, ItemSet { range: Range(761, 862), items: [770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 761, 768, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (761, true), (768, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 705, 761, 768, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 761, 768, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 384, 562, 578, 591, 595, 602, 607, 704, 705, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7115)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 607), fp: EncodedCountingMonoid(5, SumMonoid(2928)) }, Fingerprint { range: Range(607, 968), fp: EncodedCountingMonoid(5, SumMonoid(3744)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 384], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 587), fp: EncodedCountingMonoid(4, SumMonoid(2246)) }, Fingerprint { range: Range(587, 607), fp: EncodedCountingMonoid(4, SumMonoid(2391)) }, Fingerprint { range: Range(607, 801), fp: EncodedCountingMonoid(16, SumMonoid(11124)) }, Fingerprint { range: Range(801, 968), fp: EncodedCountingMonoid(16, SumMonoid(14050)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [384], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [562, 578], want_response: true }, ItemSet { range: Range(587, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 607), items: [602], want_response: true }, ItemSet { range: Range(607, 705), items: [607, 704], want_response: true }, ItemSet { range: Range(705, 801), items: [705, 761], want_response: true }, ItemSet { range: Range(801, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(384, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [548, 562, 567, 569], want_response: false }, ItemSet { range: Range(587, 602), items: [587, 596], want_response: false }, ItemSet { range: Range(602, 607), items: [602, 606], want_response: false }, ItemSet { range: Range(607, 705), items: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 801), items: [736, 755, 770, 774, 780], want_response: false }, ItemSet { range: Range(801, 968), items: [801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [578, 591, 595, 607, 704, 705, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(578, true), (591, true), (595, true), (607, true), (704, true), (705, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 384, 562, 578, 591, 595, 602, 607, 704, 705, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [384, 578, 591, 595, 607, 704, 705, 761, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 384, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 384, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 384, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 576, 578, 591, 595, 602, 607, 704, 705, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7307)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 607), fp: EncodedCountingMonoid(6, SumMonoid(3504)) }, Fingerprint { range: Range(607, 968), fp: EncodedCountingMonoid(5, SumMonoid(3744)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 587), fp: EncodedCountingMonoid(4, SumMonoid(2246)) }, Fingerprint { range: Range(587, 607), fp: EncodedCountingMonoid(4, SumMonoid(2391)) }, Fingerprint { range: Range(607, 801), fp: EncodedCountingMonoid(16, SumMonoid(11124)) }, Fingerprint { range: Range(801, 968), fp: EncodedCountingMonoid(16, SumMonoid(14050)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 578), items: [562, 576], want_response: true }, ItemSet { range: Range(578, 587), items: [578], want_response: true }, ItemSet { range: Range(587, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 607), items: [602], want_response: true }, ItemSet { range: Range(607, 705), items: [607, 704], want_response: true }, ItemSet { range: Range(705, 801), items: [705, 761], want_response: true }, ItemSet { range: Range(801, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 578), items: [548, 562, 567, 569], want_response: false }, ItemSet { range: Range(578, 587), items: [], want_response: false }, ItemSet { range: Range(587, 602), items: [587, 596], want_response: false }, ItemSet { range: Range(602, 607), items: [602, 606], want_response: false }, ItemSet { range: Range(607, 705), items: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 801), items: [736, 755, 770, 774, 780], want_response: false }, ItemSet { range: Range(801, 968), items: [801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [576, 578, 591, 595, 607, 704, 705, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(576, true), (578, true), (591, true), (595, true), (607, true), (704, true), (705, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 576, 578, 591, 595, 602, 607, 704, 705, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [576, 578, 591, 595, 607, 704, 705, 761, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 576, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 576, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 576, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 672, 704, 705, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7403)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 672), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(672, 968), fp: EncodedCountingMonoid(5, SumMonoid(3809)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 606), fp: EncodedCountingMonoid(7, SumMonoid(4031)) }, Fingerprint { range: Range(606, 672), fp: EncodedCountingMonoid(7, SumMonoid(4450)) }, Fingerprint { range: Range(672, 815), fp: EncodedCountingMonoid(13, SumMonoid(9690)) }, Fingerprint { range: Range(815, 968), fp: EncodedCountingMonoid(13, SumMonoid(11640)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 672), items: [607], want_response: true }, ItemSet { range: Range(672, 705), items: [672, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 761], want_response: true }, ItemSet { range: Range(815, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 672), items: [606, 609, 628, 641, 642, 660, 664], want_response: false }, ItemSet { range: Range(672, 705), items: [674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 968), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 672, 704, 705, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (607, true), (672, true), (704, true), (705, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 672, 704, 705, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 672, 704, 705, 761, 967, 578, 591] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 672, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 672, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 672, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 705, 720, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7451)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3857)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 720), items: [704, 705], want_response: true }, ItemSet { range: Range(720, 862), items: [720, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 720), items: [], want_response: false }, ItemSet { range: Range(720, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 720, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (720, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 705, 720, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 720, 761, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 696, 704, 705, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7427)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 696), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(696, 968), fp: EncodedCountingMonoid(5, SumMonoid(3833)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 628), fp: EncodedCountingMonoid(9, SumMonoid(5246)) }, Fingerprint { range: Range(628, 696), fp: EncodedCountingMonoid(8, SumMonoid(5296)) }, Fingerprint { range: Range(696, 860), fp: EncodedCountingMonoid(12, SumMonoid(9293)) }, Fingerprint { range: Range(860, 968), fp: EncodedCountingMonoid(11, SumMonoid(9976)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 696), items: [], want_response: true }, ItemSet { range: Range(696, 705), items: [696, 704], want_response: true }, ItemSet { range: Range(705, 860), items: [705, 761], want_response: true }, ItemSet { range: Range(860, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(628, 696), items: [628, 641, 642, 660, 664, 674, 693, 694], want_response: false }, ItemSet { range: Range(696, 705), items: [701, 703], want_response: false }, ItemSet { range: Range(705, 860), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849], want_response: false }, ItemSet { range: Range(860, 968), items: [860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [696, 704, 705, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609], provide: [(696, true), (704, true), (705, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591, 595, 607], provide: [(628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 696, 704, 705, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [696, 704, 705, 761, 967, 578, 591, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 696, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 696, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 696, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 705, 708, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7439)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3845)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 708), items: [704, 705], want_response: true }, ItemSet { range: Range(708, 862), items: [708, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 708), items: [], want_response: false }, ItemSet { range: Range(708, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 708, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (708, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 705, 708, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 708, 761, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 702, 704, 705, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7433)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 702), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(702, 968), fp: EncodedCountingMonoid(5, SumMonoid(3839)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 628), fp: EncodedCountingMonoid(9, SumMonoid(5246)) }, Fingerprint { range: Range(628, 702), fp: EncodedCountingMonoid(9, SumMonoid(5997)) }, Fingerprint { range: Range(702, 860), fp: EncodedCountingMonoid(11, SumMonoid(8592)) }, Fingerprint { range: Range(860, 968), fp: EncodedCountingMonoid(11, SumMonoid(9976)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 702), items: [], want_response: true }, ItemSet { range: Range(702, 705), items: [702, 704], want_response: true }, ItemSet { range: Range(705, 860), items: [705, 761], want_response: true }, ItemSet { range: Range(860, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(628, 702), items: [628, 641, 642, 660, 664, 674, 693, 694, 701], want_response: false }, ItemSet { range: Range(702, 705), items: [703], want_response: false }, ItemSet { range: Range(705, 860), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849], want_response: false }, ItemSet { range: Range(860, 968), items: [860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [702, 704, 705, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609], provide: [(702, true), (704, true), (705, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591, 595, 607], provide: [(628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 702, 704, 705, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 596, 606, 609, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [702, 704, 705, 761, 967, 578, 591, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 702, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 702, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 702, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 705, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(11, SumMonoid(6731)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 607), fp: EncodedCountingMonoid(5, SumMonoid(2928)) }, Fingerprint { range: Range(607, 968), fp: EncodedCountingMonoid(5, SumMonoid(3744)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 587), fp: EncodedCountingMonoid(4, SumMonoid(2246)) }, Fingerprint { range: Range(587, 607), fp: EncodedCountingMonoid(4, SumMonoid(2391)) }, Fingerprint { range: Range(607, 801), fp: EncodedCountingMonoid(16, SumMonoid(11124)) }, Fingerprint { range: Range(801, 968), fp: EncodedCountingMonoid(16, SumMonoid(14050)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [562, 578], want_response: true }, ItemSet { range: Range(587, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 607), items: [602], want_response: true }, ItemSet { range: Range(607, 705), items: [607, 704], want_response: true }, ItemSet { range: Range(705, 801), items: [705, 761], want_response: true }, ItemSet { range: Range(801, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 587), items: [548, 562, 567, 569], want_response: false }, ItemSet { range: Range(587, 602), items: [587, 596], want_response: false }, ItemSet { range: Range(602, 607), items: [602, 606], want_response: false }, ItemSet { range: Range(607, 705), items: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 801), items: [736, 755, 770, 774, 780], want_response: false }, ItemSet { range: Range(801, 968), items: [801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [578, 591, 595, 607, 704, 705, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(578, true), (591, true), (595, true), (607, true), (704, true), (705, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 705, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [578, 591, 595, 607, 704, 705, 761, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 705, 707, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7438)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3844)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 707), items: [704, 705], want_response: true }, ItemSet { range: Range(707, 862), items: [707, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 707), items: [], want_response: false }, ItemSet { range: Range(707, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 707, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (707, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 705, 707, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 707, 761, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7437)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 304, 562, 578, 591, 595, 602, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7134)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2928)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 304], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [304], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(595, 641), items: [595, 602], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(304, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 641), items: [596, 602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 304, 562, 578, 591, 595, 602, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [304, 595, 704, 705, 706, 761, 967, 578, 591] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 304, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 304, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 304, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 456, 562, 578, 591, 595, 602, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7286)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2928)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 456], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [456], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(595, 641), items: [595, 602], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(456, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 641), items: [596, 602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 456, 562, 578, 591, 595, 602, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [456, 595, 704, 705, 706, 761, 967, 578, 591] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 456, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 456, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 456, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 532, 562, 578, 591, 595, 602, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7362)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2928)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 532], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [532], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(595, 641), items: [595, 602], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(532, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 641), items: [596, 602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 532, 562, 578, 591, 595, 602, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [532, 595, 704, 705, 706, 761, 967, 578, 591] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 532, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 532, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 532, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 570, 578, 591, 595, 602, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7400)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3498)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 591), fp: EncodedCountingMonoid(3, SumMonoid(1710)) }, Fingerprint { range: Range(591, 641), fp: EncodedCountingMonoid(3, SumMonoid(1788)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(591, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 591), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 591), items: [570, 578], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(591, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 609), items: [602], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(591, 602), items: [596], want_response: false }, ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }], wants: [570, 578, 591, 595], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 596, 606], provide: [(570, true), (578, true), (591, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 570, 578, 591, 595, 602, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567, 596, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 570, 578, 591, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 570, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 570, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 570, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 589, 591, 595, 602, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7419)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3517)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 591), fp: EncodedCountingMonoid(3, SumMonoid(1729)) }, Fingerprint { range: Range(591, 641), fp: EncodedCountingMonoid(3, SumMonoid(1788)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(591, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 591), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 591), items: [578, 589], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(591, 602), items: [591, 595], want_response: true }, ItemSet { range: Range(602, 609), items: [602], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(591, 602), items: [596], want_response: false }, ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }], wants: [578, 589, 591, 595], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 596, 606], provide: [(578, true), (589, true), (591, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 589, 591, 595, 602, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567, 596, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 589, 591, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 589, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 589, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 589, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 598, 602, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7428)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3526)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1795)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(595, 602), items: [595, 598], want_response: true }, ItemSet { range: Range(602, 609), items: [602], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(595, 602), items: [596], want_response: false }, ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }], wants: [578, 591, 595, 598], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 596, 606], provide: [(578, true), (591, true), (595, true), (598, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 598, 602, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567, 596, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 591, 595, 598] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 598, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 598, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 598, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 603, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7433)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3531)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1800)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(595, 603), items: [595, 602], want_response: true }, ItemSet { range: Range(603, 609), items: [603], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(595, 603), items: [596, 602], want_response: false }, ItemSet { range: Range(603, 609), items: [606], want_response: false }], wants: [578, 591, 595, 603], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 596, 606], provide: [(578, true), (591, true), (595, true), (603, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 603, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567, 596, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 591, 595, 603] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 603, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 603, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 603, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 605, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7435)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3533)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1802)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(595, 605), items: [595, 602], want_response: true }, ItemSet { range: Range(605, 609), items: [605], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(595, 605), items: [596, 602], want_response: false }, ItemSet { range: Range(605, 609), items: [606], want_response: false }], wants: [578, 591, 595, 605], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 596, 606], provide: [(578, true), (591, true), (595, true), (605, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 605, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567, 596, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 591, 595, 605] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 605, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 605, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 605, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 606, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7436)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3534)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1803)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 609), items: [606], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 609), items: [606], want_response: false }], wants: [578, 591, 595], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 596], provide: [(578, true), (591, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 606, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 591, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 591, 595, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 562, 578, 591, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7437)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578, 591], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 591], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (591, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 562, 578, 591, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 591] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 296, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7142)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2944)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 296], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [296], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1735)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 607], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(296, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [578, 595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [578, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596], provide: [(578, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 296, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 548, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [296, 607, 704, 705, 706, 761, 967, 578, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 296, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 296, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 296, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 444, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7290)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2944)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 444], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [444], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1735)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 607], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(444, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [578, 595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [578, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596], provide: [(578, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 444, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 548, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [444, 607, 704, 705, 706, 761, 967, 578, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 444, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 444, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 444, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 518, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7364)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2944)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 518], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [518], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1735)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 607], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(518, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [578, 595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [578, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596], provide: [(578, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 518, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 548, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [518, 607, 704, 705, 706, 761, 967, 578, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 518, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 518, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 518, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 555, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7401)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3499)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1695)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [555, 562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 555], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (555, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 555, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 555] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 537, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7383)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2944)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 537], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [537], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1735)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 607], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(537, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [578, 595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [578, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596], provide: [(578, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 537, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 548, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [537, 607, 704, 705, 706, 761, 967, 578, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 537, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 537, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 537, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 546, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7392)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2944)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 546], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [546], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1735)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 607], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(546, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [578, 595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [578, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596], provide: [(578, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 546, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 548, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [546, 607, 704, 705, 706, 761, 967, 578, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 546, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 546, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 546, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 551, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7397)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3495)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1691)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [551, 562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 551], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (551, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 551, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 551] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 549, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7395)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3493)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1689)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [549, 562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578, 549], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567], provide: [(578, true), (549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 549, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 548, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578, 549] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7394)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 547, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7393)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(5, SumMonoid(2944)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 547], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [547], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1735)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 607], want_response: true }, ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(547, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 641), items: [602, 606, 609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [578, 595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [578, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [548, 567, 569, 587, 596], provide: [(578, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 547, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 548, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [547, 607, 704, 705, 706, 761, 967, 578, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 547, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 547, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 547, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 761, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7394)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3843)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 761], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 761, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (761, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 704, 705, 706, 761, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 761, 967, 578] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 381, 548, 562, 578, 595, 602, 607, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7014)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 607), fp: EncodedCountingMonoid(5, SumMonoid(2885)) }, Fingerprint { range: Range(607, 968), fp: EncodedCountingMonoid(5, SumMonoid(3689)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 381], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 587), fp: EncodedCountingMonoid(4, SumMonoid(2246)) }, Fingerprint { range: Range(587, 607), fp: EncodedCountingMonoid(4, SumMonoid(2391)) }, Fingerprint { range: Range(607, 801), fp: EncodedCountingMonoid(16, SumMonoid(11124)) }, Fingerprint { range: Range(801, 968), fp: EncodedCountingMonoid(16, SumMonoid(14050)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [381], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 578), items: [548, 562], want_response: true }, ItemSet { range: Range(578, 587), items: [578], want_response: true }, ItemSet { range: Range(587, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 705), items: [607, 704], want_response: true }, ItemSet { range: Range(705, 801), items: [705, 706], want_response: true }, ItemSet { range: Range(801, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(381, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 578), items: [548, 562, 567, 569], want_response: false }, ItemSet { range: Range(578, 587), items: [], want_response: false }, ItemSet { range: Range(587, 607), items: [587, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 705), items: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 801), items: [736, 755, 770, 774, 780], want_response: false }, ItemSet { range: Range(801, 968), items: [801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [578, 595, 607, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(578, true), (595, true), (607, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 381, 548, 562, 578, 595, 602, 607, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [381, 578, 595, 607, 704, 705, 706, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 381, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 381, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 381, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 571, 578, 595, 602, 607, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7204)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 607), fp: EncodedCountingMonoid(6, SumMonoid(3456)) }, Fingerprint { range: Range(607, 968), fp: EncodedCountingMonoid(5, SumMonoid(3689)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 587), fp: EncodedCountingMonoid(4, SumMonoid(2246)) }, Fingerprint { range: Range(587, 607), fp: EncodedCountingMonoid(4, SumMonoid(2391)) }, Fingerprint { range: Range(607, 801), fp: EncodedCountingMonoid(16, SumMonoid(11124)) }, Fingerprint { range: Range(801, 968), fp: EncodedCountingMonoid(16, SumMonoid(14050)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 571), items: [548, 562], want_response: true }, ItemSet { range: Range(571, 587), items: [571, 578], want_response: true }, ItemSet { range: Range(587, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 705), items: [607, 704], want_response: true }, ItemSet { range: Range(705, 801), items: [705, 706], want_response: true }, ItemSet { range: Range(801, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 571), items: [548, 562, 567, 569], want_response: false }, ItemSet { range: Range(571, 587), items: [], want_response: false }, ItemSet { range: Range(587, 607), items: [587, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 705), items: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 801), items: [736, 755, 770, 774, 780], want_response: false }, ItemSet { range: Range(801, 968), items: [801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [571, 578, 595, 607, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(571, true), (578, true), (595, true), (607, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 571, 578, 595, 602, 607, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [571, 578, 595, 607, 704, 705, 706, 967] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 571, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 571, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 571, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 666, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7299)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 666), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(666, 968), fp: EncodedCountingMonoid(5, SumMonoid(3748)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 606), fp: EncodedCountingMonoid(7, SumMonoid(4031)) }, Fingerprint { range: Range(606, 666), fp: EncodedCountingMonoid(7, SumMonoid(4450)) }, Fingerprint { range: Range(666, 815), fp: EncodedCountingMonoid(13, SumMonoid(9690)) }, Fingerprint { range: Range(815, 968), fp: EncodedCountingMonoid(13, SumMonoid(11640)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 666), items: [607], want_response: true }, ItemSet { range: Range(666, 705), items: [666, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 666), items: [606, 609, 628, 641, 642, 660, 664], want_response: false }, ItemSet { range: Range(666, 705), items: [674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 968), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 666, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (607, true), (666, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 666, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 666, 704, 705, 706, 967, 578] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 666, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 666, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 666, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 704, 705, 706, 714, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7347)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 704), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(704, 968), fp: EncodedCountingMonoid(5, SumMonoid(3796)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 641), fp: EncodedCountingMonoid(10, SumMonoid(5874)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 968), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }, Fingerprint { range: Range(595, 641), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706, 714], want_response: true }, ItemSet { range: Range(862, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 968), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(609, 641), items: [609, 628], want_response: true }], wants: [704, 705, 706, 714, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(609, 641), items: [], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628], provide: [(704, true), (705, true), (706, true), (714, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true), (609, true), (628, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 704, 705, 706, 714, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 609, 628, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [704, 705, 706, 714, 967, 578] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 690, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7323)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 690), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(690, 968), fp: EncodedCountingMonoid(5, SumMonoid(3772)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 690), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(690, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 690), items: [], want_response: true }, ItemSet { range: Range(690, 705), items: [690, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 690), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(690, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [690, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(690, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 690, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [690, 704, 705, 706, 967, 578] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 678, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7311)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 678), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(678, 968), fp: EncodedCountingMonoid(5, SumMonoid(3760)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 678), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(678, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 678), items: [], want_response: true }, ItemSet { range: Range(678, 705), items: [678, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 678), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(678, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [678, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(678, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 678, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [678, 704, 705, 706, 967, 578] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 672, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7305)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 672), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(672, 968), fp: EncodedCountingMonoid(5, SumMonoid(3754)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 606), fp: EncodedCountingMonoid(7, SumMonoid(4031)) }, Fingerprint { range: Range(606, 672), fp: EncodedCountingMonoid(7, SumMonoid(4450)) }, Fingerprint { range: Range(672, 815), fp: EncodedCountingMonoid(13, SumMonoid(9690)) }, Fingerprint { range: Range(815, 968), fp: EncodedCountingMonoid(13, SumMonoid(11640)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 672), items: [607], want_response: true }, ItemSet { range: Range(672, 705), items: [672, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 672), items: [606, 609, 628, 641, 642, 660, 664], want_response: false }, ItemSet { range: Range(672, 705), items: [674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 968), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 672, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (607, true), (672, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 672, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 672, 704, 705, 706, 967, 578] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 672, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 672, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 672, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7308)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 967, 578] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 674, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7307)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 674), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(674, 968), fp: EncodedCountingMonoid(5, SumMonoid(3756)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 606), fp: EncodedCountingMonoid(7, SumMonoid(4031)) }, Fingerprint { range: Range(606, 674), fp: EncodedCountingMonoid(7, SumMonoid(4450)) }, Fingerprint { range: Range(674, 815), fp: EncodedCountingMonoid(13, SumMonoid(9690)) }, Fingerprint { range: Range(815, 968), fp: EncodedCountingMonoid(13, SumMonoid(11640)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 674), items: [607], want_response: true }, ItemSet { range: Range(674, 705), items: [674, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 674), items: [606, 609, 628, 641, 642, 660, 664], want_response: false }, ItemSet { range: Range(674, 705), items: [674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 968), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(595, true), (607, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 674, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 641, 642, 660, 664, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 704, 705, 706, 967, 578] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 578, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 578, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7308)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3492)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1688)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [578], want_response: false }, ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }], wants: [578], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(578, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 578, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 967, 578] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 289, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7019)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2914)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 289], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1705)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 289, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [607, 675, 704, 705, 706, 967, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 434, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7164)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2914)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 434], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [434], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1705)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(434, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 434, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [434, 607, 675, 704, 705, 706, 967, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 434, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 434, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 434, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 506, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7236)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2914)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 506], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [506], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1705)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(506, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 506, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [506, 607, 675, 704, 705, 706, 967, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 506, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 506, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 506, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 542, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7272)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2914)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 542], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [542], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1705)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(542, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 542, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [542, 607, 675, 704, 705, 706, 967, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 542, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 542, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 542, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 560, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7290)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3474)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1670)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 560], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [560], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(560, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 560, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 967, 560] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 551, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7281)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3465)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1661)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 551], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [551], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(551, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 551, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 967, 551] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 547, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7277)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2914)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 547], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [547], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1705)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(547, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 547, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [547, 607, 675, 704, 705, 706, 967, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 547, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 547, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 547, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7279)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [549], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 967, 549] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(11, SumMonoid(6730)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2914)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1705)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], provide: [(607, true), (675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [607, 675, 704, 705, 706, 967, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 967, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 967} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 968), fp: EncodedCountingMonoid(12, SumMonoid(7279)) }], item_sets: [ItemSet { range: Range(968, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 968), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(968, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 968), fp: EncodedCountingMonoid(5, SumMonoid(3757)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 968), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 968), items: [967], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 968), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706, 967], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true), (967, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [549], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 967} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 967, 549] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 484, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 707), fp: EncodedCountingMonoid(12, SumMonoid(6796)) }], item_sets: [ItemSet { range: Range(707, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 377), fp: EncodedCountingMonoid(30, SumMonoid(7227)) }, Fingerprint { range: Range(377, 707), fp: EncodedCountingMonoid(30, SumMonoid(17104)) }], item_sets: [ItemSet { range: Range(707, 59), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(377, 607), fp: EncodedCountingMonoid(6, SumMonoid(3340)) }, Fingerprint { range: Range(607, 707), fp: EncodedCountingMonoid(5, SumMonoid(3397)) }], item_sets: [ItemSet { range: Range(59, 377), items: [59], want_response: true }], wants: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(377, 544), fp: EncodedCountingMonoid(10, SumMonoid(4614)) }, Fingerprint { range: Range(544, 607), fp: EncodedCountingMonoid(9, SumMonoid(5181)) }, Fingerprint { range: Range(607, 674), fp: EncodedCountingMonoid(6, SumMonoid(3844)) }, Fingerprint { range: Range(674, 707), fp: EncodedCountingMonoid(5, SumMonoid(3465)) }], item_sets: [ItemSet { range: Range(59, 377), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371], want_response: false }], wants: [], provide: [(736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }], item_sets: [ItemSet { range: Range(377, 544), items: [484], want_response: true }, ItemSet { range: Range(595, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 674), items: [607], want_response: true }, ItemSet { range: Range(674, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 707), items: [705, 706], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(377, 544), items: [377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }, ItemSet { range: Range(595, 607), items: [596, 602, 606], want_response: false }, ItemSet { range: Range(607, 674), items: [609, 628, 641, 642, 660, 664], want_response: false }, ItemSet { range: Range(674, 705), items: [674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 707), items: [], want_response: false }], wants: [484, 595, 607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703], provide: [(484, true), (595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549], provide: [(377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 567, 569, 587], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 484, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706} + [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 544, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [484, 595, 607, 675, 704, 705, 706, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 484, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 484, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 484, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 726} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 727), fp: EncodedCountingMonoid(12, SumMonoid(7038)) }], item_sets: [ItemSet { range: Range(727, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 377), fp: EncodedCountingMonoid(30, SumMonoid(7227)) }, Fingerprint { range: Range(377, 727), fp: EncodedCountingMonoid(30, SumMonoid(17104)) }], item_sets: [ItemSet { range: Range(727, 59), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(377, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 727), fp: EncodedCountingMonoid(5, SumMonoid(3516)) }], item_sets: [ItemSet { range: Range(59, 377), items: [59], want_response: true }], wants: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(377, 567), fp: EncodedCountingMonoid(13, SumMonoid(6268)) }, Fingerprint { range: Range(567, 675), fp: EncodedCountingMonoid(13, SumMonoid(8045)) }], item_sets: [ItemSet { range: Range(59, 377), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371], want_response: false }, ItemSet { range: Range(675, 701), items: [693, 694], want_response: true }, ItemSet { range: Range(701, 727), items: [701, 703], want_response: true }], wants: [], provide: [(736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(675, 701), items: [675], want_response: false }, ItemSet { range: Range(701, 727), items: [704, 705, 706, 726], want_response: false }, ItemSet { range: Range(377, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 675), items: [607], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 693, 694, 701, 703], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(377, 562), items: [377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 607), items: [567, 569, 587, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }], wants: [675, 704, 705, 706, 726, 549, 595, 607], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (693, true), (694, true), (701, true), (703, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674], provide: [(675, true), (704, true), (705, true), (706, true), (726, true), (549, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 726} + [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 693, 694, 701, 703, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 726, 549, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 726, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 726, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 726, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 847} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 848), fp: EncodedCountingMonoid(12, SumMonoid(7159)) }], item_sets: [ItemSet { range: Range(848, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 471), fp: EncodedCountingMonoid(35, SumMonoid(9372)) }, Fingerprint { range: Range(471, 848), fp: EncodedCountingMonoid(34, SumMonoid(21999)) }], item_sets: [ItemSet { range: Range(848, 59), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(471, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 848), fp: EncodedCountingMonoid(5, SumMonoid(3637)) }], item_sets: [ItemSet { range: Range(59, 471), items: [59], want_response: true }], wants: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(471, 596), fp: EncodedCountingMonoid(11, SumMonoid(5846)) }, Fingerprint { range: Range(596, 675), fp: EncodedCountingMonoid(10, SumMonoid(6322)) }, Fingerprint { range: Range(675, 774), fp: EncodedCountingMonoid(7, SumMonoid(5052)) }, Fingerprint { range: Range(774, 848), fp: EncodedCountingMonoid(6, SumMonoid(4779)) }], item_sets: [ItemSet { range: Range(59, 471), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459], want_response: false }], wants: [], provide: [(849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(471, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 596), items: [562, 595], want_response: true }, ItemSet { range: Range(596, 675), items: [602, 607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 774), items: [705, 706], want_response: true }, ItemSet { range: Range(774, 848), items: [847], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(471, 562), items: [471, 476, 489, 502, 531, 544, 548], want_response: false }, ItemSet { range: Range(562, 596), items: [562, 567, 569, 587], want_response: false }, ItemSet { range: Range(596, 675), items: [596, 602, 606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 774), items: [736, 755, 770], want_response: false }, ItemSet { range: Range(774, 848), items: [774, 780, 801, 802, 807, 815], want_response: false }], wants: [549, 595, 607, 675, 704, 705, 706, 847], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [471, 476, 489, 502, 531, 544, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815], provide: [(549, true), (595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (847, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(471, true), (476, true), (489, true), (502, true), (531, true), (544, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 847} + [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [549, 595, 607, 675, 704, 705, 706, 847] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 847, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 847, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 847, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 907} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 908), fp: EncodedCountingMonoid(12, SumMonoid(7219)) }], item_sets: [ItemSet { range: Range(908, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 502), fp: EncodedCountingMonoid(38, SumMonoid(10808)) }, Fingerprint { range: Range(502, 908), fp: EncodedCountingMonoid(38, SumMonoid(26714)) }], item_sets: [ItemSet { range: Range(908, 59), items: [922, 926, 927, 936, 963, 977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 908), fp: EncodedCountingMonoid(5, SumMonoid(3697)) }], item_sets: [ItemSet { range: Range(59, 502), items: [59], want_response: true }], wants: [922, 926, 927, 936, 963, 977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(502, 602), fp: EncodedCountingMonoid(9, SumMonoid(5006)) }, Fingerprint { range: Range(602, 675), fp: EncodedCountingMonoid(9, SumMonoid(5726)) }, Fingerprint { range: Range(675, 802), fp: EncodedCountingMonoid(10, SumMonoid(7407)) }, Fingerprint { range: Range(802, 908), fp: EncodedCountingMonoid(10, SumMonoid(8575)) }], item_sets: [ItemSet { range: Range(59, 502), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489], want_response: false }], wants: [], provide: [(922, true), (926, true), (927, true), (936, true), (963, true), (977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(502, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 602), items: [562, 595], want_response: true }, ItemSet { range: Range(602, 675), items: [602, 607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 802), items: [705, 706], want_response: true }, ItemSet { range: Range(802, 908), items: [907], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(502, 562), items: [502, 531, 544, 548], want_response: false }, ItemSet { range: Range(562, 602), items: [562, 567, 569, 587, 596], want_response: false }, ItemSet { range: Range(602, 675), items: [602, 606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 802), items: [736, 755, 770, 774, 780, 801], want_response: false }, ItemSet { range: Range(802, 908), items: [802, 807, 815, 849, 860, 862, 892, 895, 896, 897], want_response: false }], wants: [549, 595, 607, 675, 704, 705, 706, 907], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [502, 531, 544, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897], provide: [(549, true), (595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (907, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(502, true), (531, true), (544, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 907} + [922, 926, 927, 936, 963, 977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [549, 595, 607, 675, 704, 705, 706, 907] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 907, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 907, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 907, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 937} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 938), fp: EncodedCountingMonoid(12, SumMonoid(7249)) }], item_sets: [ItemSet { range: Range(938, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 544), fp: EncodedCountingMonoid(40, SumMonoid(11841)) }, Fingerprint { range: Range(544, 938), fp: EncodedCountingMonoid(40, SumMonoid(29392)) }], item_sets: [ItemSet { range: Range(938, 59), items: [963, 977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 938), fp: EncodedCountingMonoid(5, SumMonoid(3727)) }], item_sets: [ItemSet { range: Range(59, 544), items: [59], want_response: true }], wants: [963, 977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(8, SumMonoid(4575)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 938), fp: EncodedCountingMonoid(12, SumMonoid(10677)) }], item_sets: [ItemSet { range: Range(59, 544), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [], provide: [(963, true), (977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 938), items: [937], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 938), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], want_response: false }], wants: [595, 607, 675, 704, 705, 706, 937], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (937, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 567, 569, 587], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 937} + [963, 977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 544, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 675, 704, 705, 706, 937, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 937, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 937, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 937, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 952} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 953), fp: EncodedCountingMonoid(12, SumMonoid(7264)) }], item_sets: [ItemSet { range: Range(953, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 544), fp: EncodedCountingMonoid(40, SumMonoid(11841)) }, Fingerprint { range: Range(544, 953), fp: EncodedCountingMonoid(40, SumMonoid(29392)) }], item_sets: [ItemSet { range: Range(953, 59), items: [963, 977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 953), fp: EncodedCountingMonoid(5, SumMonoid(3742)) }], item_sets: [ItemSet { range: Range(59, 544), items: [59], want_response: true }], wants: [963, 977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(8, SumMonoid(4575)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 953), fp: EncodedCountingMonoid(12, SumMonoid(10677)) }], item_sets: [ItemSet { range: Range(59, 544), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [], provide: [(963, true), (977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 953), items: [952], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 953), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], want_response: false }], wants: [595, 607, 675, 704, 705, 706, 952], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (952, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 567, 569, 587], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 952} + [963, 977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 544, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 675, 704, 705, 706, 952, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 952, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 952, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 952, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 960} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 961), fp: EncodedCountingMonoid(12, SumMonoid(7272)) }], item_sets: [ItemSet { range: Range(961, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 544), fp: EncodedCountingMonoid(40, SumMonoid(11841)) }, Fingerprint { range: Range(544, 961), fp: EncodedCountingMonoid(40, SumMonoid(29392)) }], item_sets: [ItemSet { range: Range(961, 59), items: [963, 977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 961), fp: EncodedCountingMonoid(5, SumMonoid(3750)) }], item_sets: [ItemSet { range: Range(59, 544), items: [59], want_response: true }], wants: [963, 977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(8, SumMonoid(4575)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 961), fp: EncodedCountingMonoid(12, SumMonoid(10677)) }], item_sets: [ItemSet { range: Range(59, 544), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [], provide: [(963, true), (977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 961), items: [960], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 961), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], want_response: false }], wants: [595, 607, 675, 704, 705, 706, 960], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (960, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 567, 569, 587], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 960} + [963, 977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 544, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 675, 704, 705, 706, 960, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 960, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 960, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 960, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 964} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 965), fp: EncodedCountingMonoid(12, SumMonoid(7276)) }], item_sets: [ItemSet { range: Range(965, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 965), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(965, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 965), fp: EncodedCountingMonoid(5, SumMonoid(3754)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 965), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 965), items: [964], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 965), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706, 964], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true), (964, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [549], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (963, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 964} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 964, 549] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 962} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 963), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }], item_sets: [ItemSet { range: Range(963, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 544), fp: EncodedCountingMonoid(40, SumMonoid(11841)) }, Fingerprint { range: Range(544, 963), fp: EncodedCountingMonoid(40, SumMonoid(29392)) }], item_sets: [ItemSet { range: Range(963, 59), items: [963, 977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 963), fp: EncodedCountingMonoid(5, SumMonoid(3752)) }], item_sets: [ItemSet { range: Range(59, 544), items: [59], want_response: true }], wants: [963, 977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(8, SumMonoid(4575)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 963), fp: EncodedCountingMonoid(12, SumMonoid(10677)) }], item_sets: [ItemSet { range: Range(59, 544), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [], provide: [(963, true), (977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 963), items: [962], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 963), items: [815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], want_response: false }], wants: [595, 607, 675, 704, 705, 706, 962], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 567), items: [562], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (962, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 562), items: [544, 548], want_response: false }, ItemSet { range: Range(562, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 567, 569, 587], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 962} + [963, 977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 544, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 675, 704, 705, 706, 962, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 962, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 962, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 962, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7275)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [549], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 298, 548, 549, 562, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(6978)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2868)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 298], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [298], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(298, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 298, 548, 549, 562, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [298, 607, 675, 704, 705, 706, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 298, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 298, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 298, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 447, 548, 549, 562, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7127)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2868)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 447], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [447], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(447, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 447, 548, 549, 562, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [447, 607, 675, 704, 705, 706, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 447, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 447, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 447, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 521, 548, 549, 562, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7201)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2868)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 521], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [521], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(521, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }, ItemSet { range: Range(569, 602), items: [], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 521, 548, 549, 562, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [521, 607, 675, 704, 705, 706, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 521, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 521, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 521, 531, 544, 548, 549, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 558, 562, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7238)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3426)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 562), fp: EncodedCountingMonoid(3, SumMonoid(1655)) }, Fingerprint { range: Range(562, 609), fp: EncodedCountingMonoid(3, SumMonoid(1771)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 596), fp: EncodedCountingMonoid(4, SumMonoid(2285)) }, Fingerprint { range: Range(596, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(548, 562), items: [548], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548, 549, 558], want_response: false }, ItemSet { range: Range(562, 596), items: [562], want_response: true }, ItemSet { range: Range(596, 609), items: [602, 607], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 596), items: [562, 567, 569, 587], want_response: false }, ItemSet { range: Range(596, 609), items: [596, 602, 606], want_response: false }], wants: [549, 558, 607], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596, 606], provide: [(549, true), (558, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 558, 562, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 567, 569, 587, 596, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 558, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 558, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 558, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 558, 562, 567, 569, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 577, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3445)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 577), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(577, 609), fp: EncodedCountingMonoid(3, SumMonoid(1786)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(548, 567), items: [548, 562], want_response: true }, ItemSet { range: Range(567, 577), items: [567, 569], want_response: true }, ItemSet { range: Range(577, 602), items: [587, 596], want_response: true }, ItemSet { range: Range(602, 609), items: [602, 606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 567), items: [548, 549, 562], want_response: false }, ItemSet { range: Range(567, 577), items: [], want_response: false }, ItemSet { range: Range(577, 602), items: [577], want_response: false }, ItemSet { range: Range(602, 609), items: [602, 607], want_response: false }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 567, 569, 587, 596, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [549, 577, 607], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true), (587, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (577, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 577, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 567, 569, 587, 596, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 577, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 577, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 577, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 577, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 586, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7266)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3454)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 586), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(586, 609), fp: EncodedCountingMonoid(3, SumMonoid(1795)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(548, 567), items: [548, 562], want_response: true }, ItemSet { range: Range(567, 586), items: [567, 569], want_response: true }, ItemSet { range: Range(586, 602), items: [587, 596], want_response: true }, ItemSet { range: Range(602, 609), items: [602, 606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 567), items: [548, 549, 562], want_response: false }, ItemSet { range: Range(567, 586), items: [], want_response: false }, ItemSet { range: Range(586, 602), items: [586], want_response: false }, ItemSet { range: Range(602, 609), items: [602, 607], want_response: false }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 567, 569, 587, 596, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [549, 586, 607], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true), (587, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (586, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 586, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 567, 569, 587, 596, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 586, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 586, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 586, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 586, 587, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 591, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7271)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3459)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 591), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(591, 609), fp: EncodedCountingMonoid(3, SumMonoid(1800)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 591), items: [569, 587], want_response: true }, ItemSet { range: Range(591, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 609), items: [606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 591), items: [], want_response: false }, ItemSet { range: Range(591, 606), items: [591, 602], want_response: false }, ItemSet { range: Range(606, 609), items: [607], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [591, 607, 549], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(591, true), (607, true), (549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 591, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 606, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 591, 607, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 591, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 591, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 591, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 593, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7273)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3461)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 593), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(593, 609), fp: EncodedCountingMonoid(3, SumMonoid(1802)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 593), items: [569, 587], want_response: true }, ItemSet { range: Range(593, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 609), items: [606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 593), items: [], want_response: false }, ItemSet { range: Range(593, 606), items: [593, 602], want_response: false }, ItemSet { range: Range(606, 609), items: [607], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [593, 607, 549], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(593, true), (607, true), (549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 593, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 606, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 593, 607, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 593, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 593, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 593, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 594, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7274)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3462)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 594), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(594, 609), fp: EncodedCountingMonoid(3, SumMonoid(1803)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 594), items: [569, 587], want_response: true }, ItemSet { range: Range(594, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 609), items: [606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 594), items: [], want_response: false }, ItemSet { range: Range(594, 606), items: [594, 602], want_response: false }, ItemSet { range: Range(606, 609), items: [607], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [594, 607, 549], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(594, true), (607, true), (549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 594, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 606, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 594, 607, 549] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 594, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 594, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 594, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7275)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3463)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1659)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 562), items: [548, 549], want_response: true }, ItemSet { range: Range(562, 569), items: [562], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 562), items: [548], want_response: false }, ItemSet { range: Range(562, 569), items: [562, 567], want_response: false }], wants: [549], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567], provide: [(549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 562, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 281, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(6994)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2901)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 281], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [281], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(281, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 549], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596], provide: [(549, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 281, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [281, 607, 675, 704, 705, 706, 549, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 281, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 281, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 281, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 422, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7135)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2901)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 422], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 549], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596], provide: [(549, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 422, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [607, 675, 704, 705, 706, 549, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 492, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7205)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2901)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 492], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [492], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(492, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 549], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596], provide: [(549, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 492, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [492, 607, 675, 704, 705, 706, 549, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 492, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 492, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 492, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 527, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7240)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2901)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 527], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [527], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(527, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 549], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596], provide: [(549, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 527, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [527, 607, 675, 704, 705, 706, 549, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 527, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 527, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 527, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 545, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7258)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2901)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 545], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [545], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(545, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 549], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596], provide: [(549, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 545, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [545, 607, 675, 704, 705, 706, 549, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 545, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 545, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 545, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 554, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7267)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3455)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1651)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 554), items: [548, 549], want_response: true }, ItemSet { range: Range(554, 569), items: [554], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 554), items: [548], want_response: false }, ItemSet { range: Range(554, 569), items: [562, 567], want_response: false }], wants: [549, 554], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (554, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 554, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 554] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7263)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(11, SumMonoid(6713)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2901)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 549], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596], provide: [(549, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [607, 675, 704, 705, 706, 549, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(11, SumMonoid(6713)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2901)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 602), fp: EncodedCountingMonoid(3, SumMonoid(1692)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }, Fingerprint { range: Range(569, 602), fp: EncodedCountingMonoid(3, SumMonoid(1752)) }], item_sets: [ItemSet { range: Range(602, 609), items: [602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 549], want_response: true }, ItemSet { range: Range(569, 602), items: [595], want_response: true }], wants: [606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 569), items: [548, 562, 567], want_response: false }, ItemSet { range: Range(569, 602), items: [569, 587, 596], want_response: false }], wants: [549, 595], provide: [(606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596], provide: [(549, true), (595, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [607, 675, 704, 705, 706, 549, 595] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7263)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 301, 548, 549, 550, 595, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(6962)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2849)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 301], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [301], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 609), items: [595, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(301, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 609), items: [596, 602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(596, true), (602, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 301, 548, 549, 550, 595, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [301, 595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 301, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 301, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 301, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 452, 548, 549, 550, 595, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7113)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2849)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 452], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [452], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 609), items: [595, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(452, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 609), items: [596, 602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(596, true), (602, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 452, 548, 549, 550, 595, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [452, 595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 452, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 452, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 452, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 527, 548, 549, 550, 595, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7188)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(5, SumMonoid(2849)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 527], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [527], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 609), items: [595, 607], want_response: true }, ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(527, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 609), items: [596, 602, 606], want_response: false }, ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(596, true), (602, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 527, 548, 549, 550, 595, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [527, 595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 527, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 527, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 527, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 565, 595, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7226)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3414)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 565), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(565, 609), fp: EncodedCountingMonoid(3, SumMonoid(1767)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(565, 596), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(596, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(548, 565), items: [548, 562], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 565), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(565, 596), items: [565, 595], want_response: true }, ItemSet { range: Range(596, 609), items: [607], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(565, 596), items: [567, 569, 587], want_response: false }, ItemSet { range: Range(596, 609), items: [596, 602, 606], want_response: false }], wants: [549, 550, 565, 595, 607], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [567, 569, 587, 596, 602, 606], provide: [(549, true), (550, true), (565, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(567, true), (569, true), (587, true), (596, true), (602, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 565, 595, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596, 602, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 550, 565, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 565, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 565, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 565, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 584, 595, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7245)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3433)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 584), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(584, 609), fp: EncodedCountingMonoid(3, SumMonoid(1786)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(548, 567), items: [548, 562], want_response: true }, ItemSet { range: Range(567, 584), items: [567, 569], want_response: true }, ItemSet { range: Range(584, 602), items: [587, 596], want_response: true }, ItemSet { range: Range(602, 609), items: [602, 606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 584), items: [], want_response: false }, ItemSet { range: Range(584, 602), items: [584, 595], want_response: false }, ItemSet { range: Range(602, 609), items: [607], want_response: false }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596, 602, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [549, 550, 584, 595, 607], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (562, true), (567, true), (569, true), (587, true), (596, true), (602, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (550, true), (584, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 584, 595, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 562, 567, 569, 587, 596, 602, 606] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 550, 584, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 584, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 584, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 584, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 593, 595, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7254)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3442)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 593), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(593, 609), fp: EncodedCountingMonoid(3, SumMonoid(1795)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 593), items: [569, 587], want_response: true }, ItemSet { range: Range(593, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 609), items: [606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 593), items: [], want_response: false }, ItemSet { range: Range(593, 606), items: [593, 595], want_response: false }, ItemSet { range: Range(606, 609), items: [607], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 602, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [593, 595, 607, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true), (596, true), (602, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(593, true), (595, true), (607, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 593, 595, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 602, 606, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 593, 595, 607, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 593, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 593, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 593, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 595, 598, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7259)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3447)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1800)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 609), items: [606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 598], want_response: false }, ItemSet { range: Range(606, 609), items: [607], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 602, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [595, 598, 607, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true), (596, true), (602, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(595, true), (598, true), (607, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 595, 598, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 602, 606, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 595, 598, 607, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 598, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 598, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 598, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 595, 600, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7261)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3449)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1802)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 609), items: [606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 600], want_response: false }, ItemSet { range: Range(606, 609), items: [607], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 602, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [595, 600, 607, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true), (596, true), (602, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(595, true), (600, true), (607, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 595, 600, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 602, 606, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 595, 600, 607, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 600, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 600, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 600, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 595, 601, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7262)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3450)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1803)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 609), items: [606], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 601], want_response: false }, ItemSet { range: Range(606, 609), items: [607], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 602, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [595, 601, 607, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true), (596, true), (602, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(595, true), (601, true), (607, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 595, 601, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 596, 602, 606, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 595, 601, 607, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 601, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 601, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 601, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {59, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(59, 964), fp: EncodedCountingMonoid(12, SumMonoid(7263)) }], item_sets: [ItemSet { range: Range(964, 59), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(59, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 59), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(59, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {59, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {30, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(30, 964), fp: EncodedCountingMonoid(12, SumMonoid(7234)) }], item_sets: [ItemSet { range: Range(964, 30), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(30, 544), fp: EncodedCountingMonoid(41, SumMonoid(11893)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(41, SumMonoid(30355)) }], item_sets: [ItemSet { range: Range(964, 30), items: [977, 990, 23, 27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(30, 544), items: [30], want_response: true }], wants: [977, 990, 23, 27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(8, SumMonoid(4575)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(30, 544), items: [52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [30], provide: [(977, true), (990, true), (23, true), (27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [(30, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(52, true), (59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [544, 548], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 562, 567, 569, 587], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (562, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {30, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 544, 562, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [30, 595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 30, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 30, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 30, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {45, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(45, 964), fp: EncodedCountingMonoid(12, SumMonoid(7249)) }], item_sets: [ItemSet { range: Range(964, 45), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(45, 544), fp: EncodedCountingMonoid(41, SumMonoid(11893)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(41, SumMonoid(30355)) }], item_sets: [ItemSet { range: Range(964, 45), items: [977, 990, 23, 27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(45, 544), items: [45], want_response: true }], wants: [977, 990, 23, 27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(8, SumMonoid(4575)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(45, 544), items: [52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [45], provide: [(977, true), (990, true), (23, true), (27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [(45, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(52, true), (59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [544, 548], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 562, 567, 569, 587], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (562, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {45, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 544, 562, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [45, 595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 45, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 45, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 45, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {52, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(52, 964), fp: EncodedCountingMonoid(12, SumMonoid(7256)) }], item_sets: [ItemSet { range: Range(964, 52), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 544), fp: EncodedCountingMonoid(41, SumMonoid(11893)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(41, SumMonoid(30355)) }], item_sets: [ItemSet { range: Range(964, 52), items: [977, 990, 23, 27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(52, 544), items: [52], want_response: true }], wants: [977, 990, 23, 27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(8, SumMonoid(4575)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(52, 544), items: [52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [], provide: [(977, true), (990, true), (23, true), (27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [544, 548], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 562, 567, 569, 587], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (562, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {52, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 544, 562, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {56, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(56, 964), fp: EncodedCountingMonoid(12, SumMonoid(7260)) }], item_sets: [ItemSet { range: Range(964, 56), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(56, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 56), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(56, 548), items: [56], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(56, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [56], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(56, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {56, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [56, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {54, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(54, 964), fp: EncodedCountingMonoid(12, SumMonoid(7258)) }], item_sets: [ItemSet { range: Range(964, 54), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(54, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 54), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(54, 548), items: [54], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(54, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [54], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(54, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {54, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [54, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(40, SumMonoid(11841)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(40, SumMonoid(29540)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(8, SumMonoid(4575)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }, Fingerprint { range: Range(567, 595), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }, ItemSet { range: Range(567, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [544, 548], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569, 587], want_response: false }], wants: [549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 562, 567, 569, 587], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (562, true), (567, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 544, 562, 567, 569, 587] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(41, SumMonoid(12385)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (203, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 203, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(40, SumMonoid(12613)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(39, SumMonoid(29263)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(9, SumMonoid(5326)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 964), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 549, 550], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706], want_response: true }, ItemSet { range: Range(862, 964), items: [963], want_response: true }], wants: [59, 81, 90, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 587, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 964), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(40, SumMonoid(12433)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(39, SumMonoid(29263)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(9, SumMonoid(5326)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 964), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 549, 550], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706], want_response: true }, ItemSet { range: Range(862, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 587, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 964), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(39, SumMonoid(29170)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 606), fp: EncodedCountingMonoid(7, SumMonoid(4031)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(7, SumMonoid(4483)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [596, 606, 609, 628, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 609, 628, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(40, SumMonoid(12458)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(39, SumMonoid(29263)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(9, SumMonoid(5326)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 964), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 549, 550], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706], want_response: true }, ItemSet { range: Range(862, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 587, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 964), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(40, SumMonoid(12259)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(39, SumMonoid(29263)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(9, SumMonoid(5326)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(11, SumMonoid(8749)) }, Fingerprint { range: Range(862, 964), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 476, 489, 502, 531, 544, 548], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 549, 550], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706], want_response: true }, ItemSet { range: Range(862, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 476, 489, 502, 531, 544], provide: [(53, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 587, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860], want_response: false }, ItemSet { range: Range(862, 964), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 476, 489, 502, 531, 544, 562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(40, SumMonoid(29811)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(13, SumMonoid(9831)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(12, SumMonoid(10825)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (860, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 860, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(40, SumMonoid(12182)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(39, SumMonoid(28951)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(12, SumMonoid(10780)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (332, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 332, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(39, SumMonoid(11850)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(39, SumMonoid(28951)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(12, SumMonoid(10780)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(39, SumMonoid(12220)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(38, SumMonoid(28403)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(9, SumMonoid(5326)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(9, SumMonoid(6072)) }, Fingerprint { range: Range(704, 862), fp: EncodedCountingMonoid(10, SumMonoid(7889)) }, Fingerprint { range: Range(862, 964), fp: EncodedCountingMonoid(10, SumMonoid(9116)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 549, 550], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 862), items: [706], want_response: true }, ItemSet { range: Range(862, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 587, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 701, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 862), items: [736, 755, 770, 774, 780, 801, 802, 807, 815, 849], want_response: false }, ItemSet { range: Range(862, 964), items: [862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (587, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 587, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(39, SumMonoid(11850)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(39, SumMonoid(28951)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(12, SumMonoid(10780)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(39, SumMonoid(11850)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(38, SumMonoid(28342)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 606), fp: EncodedCountingMonoid(7, SumMonoid(4031)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(7, SumMonoid(4515)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(12, SumMonoid(10780)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [596, 606, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(596, true), (606, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 596, 606, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 595, 607, 675, 704, 705, 706, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 587, 595, 596, 602, 606, 607, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(39, SumMonoid(11850)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(39, SumMonoid(28951)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(12, SumMonoid(10780)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (892, true), (895, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 895, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 548), fp: EncodedCountingMonoid(39, SumMonoid(11850)) }, Fingerprint { range: Range(548, 964), fp: EncodedCountingMonoid(38, SumMonoid(28056)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 548), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 609), fp: EncodedCountingMonoid(8, SumMonoid(4637)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(11, SumMonoid(9885)) }], item_sets: [ItemSet { range: Range(53, 548), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(548, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(548, 569), fp: EncodedCountingMonoid(3, SumMonoid(1677)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(569, 595), items: [569, 587], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 595), items: [], want_response: false }, ItemSet { range: Range(548, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 569), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 569, 587], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(548, 550), items: [548], want_response: false }, ItemSet { range: Range(550, 569), items: [562, 567], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (892, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (569, true), (587, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 569, 587, 562, 567] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 587, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(38, SumMonoid(11306)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(38, SumMonoid(28013)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(8, SumMonoid(4594)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(12, SumMonoid(9016)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(11, SumMonoid(9885)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(544, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [544, 548], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (892, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 562], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 567, 569, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 892, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(38, SumMonoid(11306)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(37, SumMonoid(27121)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(8, SumMonoid(4594)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(11, SumMonoid(8209)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(11, SumMonoid(9800)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(544, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [544, 548], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 562], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(37, SumMonoid(10775)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(37, SumMonoid(27056)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(8, SumMonoid(4529)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(11, SumMonoid(8209)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(11, SumMonoid(9800)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 562), fp: EncodedCountingMonoid(3, SumMonoid(1623)) }, Fingerprint { range: Range(562, 595), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(595, 609), items: [602, 606], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(595, 609), items: [595, 602, 607], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 562), items: [550], want_response: true }, ItemSet { range: Range(562, 595), items: [], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544, 548], want_response: false }, ItemSet { range: Range(550, 562), items: [], want_response: false }, ItemSet { range: Range(562, 595), items: [562, 567, 569], want_response: false }], wants: [595, 607, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562, 567, 569], provide: [(595, true), (607, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 606, 531, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 595, 607, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 701, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(38, SumMonoid(11306)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(37, SumMonoid(27121)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(8, SumMonoid(4594)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(11, SumMonoid(8209)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(11, SumMonoid(9800)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 567), fp: EncodedCountingMonoid(3, SumMonoid(1654)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(544, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 550), items: [544, 548], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [544, 562], provide: [(549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(37, SumMonoid(10775)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(37, SumMonoid(27104)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(8, SumMonoid(4577)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(11, SumMonoid(8209)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(11, SumMonoid(9800)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 701, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (701, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 701, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(37, SumMonoid(10775)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(36, SumMonoid(26403)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(8, SumMonoid(4577)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(11, SumMonoid(8315)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(37, SumMonoid(10775)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(36, SumMonoid(26403)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(8, SumMonoid(4577)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(11, SumMonoid(8315)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(37, SumMonoid(10775)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(36, SumMonoid(26403)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(8, SumMonoid(4577)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(11, SumMonoid(8315)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 502), fp: EncodedCountingMonoid(36, SumMonoid(10273)) }, Fingerprint { range: Range(502, 964), fp: EncodedCountingMonoid(36, SumMonoid(26104)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 502), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(502, 606), fp: EncodedCountingMonoid(8, SumMonoid(4473)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(10, SumMonoid(7514)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 502), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(502, 562), fp: EncodedCountingMonoid(3, SumMonoid(1577)) }, Fingerprint { range: Range(562, 595), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(502, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 562), items: [550], want_response: true }, ItemSet { range: Range(562, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(502, 550), items: [502, 531, 544], want_response: false }, ItemSet { range: Range(550, 562), items: [], want_response: false }, ItemSet { range: Range(562, 595), items: [562, 567, 569], want_response: false }], wants: [548, 549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [502, 531, 544, 562, 567, 569], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(502, true), (531, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 502, 531, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 595, 607, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(37, SumMonoid(10775)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(36, SumMonoid(26403)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(8, SumMonoid(4577)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(11, SumMonoid(8315)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 502), fp: EncodedCountingMonoid(36, SumMonoid(10273)) }, Fingerprint { range: Range(502, 964), fp: EncodedCountingMonoid(36, SumMonoid(26135)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 502), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(502, 606), fp: EncodedCountingMonoid(8, SumMonoid(4473)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(8, SumMonoid(5124)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(10, SumMonoid(7545)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 502), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(502, 562), fp: EncodedCountingMonoid(3, SumMonoid(1577)) }, Fingerprint { range: Range(562, 595), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(502, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 562), items: [550], want_response: true }, ItemSet { range: Range(562, 595), items: [], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(502, 550), items: [502, 531, 544], want_response: false }, ItemSet { range: Range(550, 562), items: [], want_response: false }, ItemSet { range: Range(562, 595), items: [562, 567, 569], want_response: false }], wants: [548, 549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [502, 531, 544, 562, 567, 569], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(502, true), (531, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 502, 531, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 595, 607, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(37, SumMonoid(10775)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(36, SumMonoid(26403)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(8, SumMonoid(4577)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(11, SumMonoid(8315)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (189, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 189, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(36, SumMonoid(10586)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(36, SumMonoid(26403)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(8, SumMonoid(4577)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(11, SumMonoid(8315)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (377, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 377, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(36, SumMonoid(10740)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(35, SumMonoid(25872)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(11, SumMonoid(8315)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (454, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 454, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(35, SumMonoid(10286)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(35, SumMonoid(25872)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(11, SumMonoid(8315)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(10, SumMonoid(8993)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 922, 926, 927, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (927, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 927, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(35, SumMonoid(10286)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(34, SumMonoid(24945)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (245, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 245, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(34, SumMonoid(10041)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(34, SumMonoid(24945)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(34, SumMonoid(10345)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(33, SumMonoid(24401)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(8, SumMonoid(4739)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(8, SumMonoid(5371)) }, Fingerprint { range: Range(704, 849), fp: EncodedCountingMonoid(9, SumMonoid(7040)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(8, SumMonoid(7251)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 849), items: [706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 660, 664, 674, 693, 694, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 922, 926, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (243, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 660, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(34, SumMonoid(10041)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(34, SumMonoid(24945)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(7, SumMonoid(4518)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 660, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (660, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 660, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(34, SumMonoid(10041)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(33, SumMonoid(24285)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(33, SumMonoid(9510)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(33, SumMonoid(23919)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 606), fp: EncodedCountingMonoid(7, SumMonoid(3971)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(7, SumMonoid(4464)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7976)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 922, 926, 936, 567, 569], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (922, true), (926, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 922, 926, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 922, 926, 936, 963, 977, 990} + [53, 595, 607, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 922, 926, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 922, 926, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 922, 926, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(34, SumMonoid(10041)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(33, SumMonoid(24285)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (249, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 249, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(33, SumMonoid(9792)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(33, SumMonoid(24285)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(33, SumMonoid(10168)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(32, SumMonoid(23741)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(8, SumMonoid(4739)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(7, SumMonoid(4711)) }, Fingerprint { range: Range(704, 849), fp: EncodedCountingMonoid(9, SumMonoid(7040)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(8, SumMonoid(7251)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 849), items: [706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 664, 674, 693, 694, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 922, 926, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(33, SumMonoid(9792)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(33, SumMonoid(24285)) }], item_sets: [ItemSet { range: Range(964, 53), items: [977, 990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [977, 990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(977, true), (990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [977, 990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 977, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(33, SumMonoid(9792)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(33, SumMonoid(24285)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(33, SumMonoid(10255)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(32, SumMonoid(23741)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(8, SumMonoid(4739)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(7, SumMonoid(4711)) }, Fingerprint { range: Range(704, 849), fp: EncodedCountingMonoid(9, SumMonoid(7040)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(8, SumMonoid(7251)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 849), items: [706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 664, 674, 693, 694, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 922, 926, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(33, SumMonoid(9792)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(33, SumMonoid(24285)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(33, SumMonoid(9914)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(32, SumMonoid(23741)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(8, SumMonoid(4739)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(7, SumMonoid(4711)) }, Fingerprint { range: Range(704, 849), fp: EncodedCountingMonoid(9, SumMonoid(7040)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(8, SumMonoid(7251)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 433, 459, 471, 476, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 849), items: [706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 433, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 664, 674, 693, 694, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 849), items: [736, 755, 770, 774, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 922, 926, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(33, SumMonoid(9792)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(33, SumMonoid(24285)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(10, SumMonoid(8873)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 922, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (922, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 922, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(33, SumMonoid(9792)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(32, SumMonoid(23363)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (266, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 266, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(32, SumMonoid(9526)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(32, SumMonoid(23363)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(32, SumMonoid(9526)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(32, SumMonoid(23363)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(32, SumMonoid(9793)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(31, SumMonoid(22819)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(8, SumMonoid(4739)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(7, SumMonoid(4711)) }, Fingerprint { range: Range(704, 815), fp: EncodedCountingMonoid(8, SumMonoid(6225)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 815), items: [706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 664, 674, 693, 694, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 815), items: [736, 755, 770, 774, 780, 801, 802, 807], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(32, SumMonoid(9526)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(32, SumMonoid(23363)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(10, SumMonoid(7508)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 774, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (774, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 774, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(32, SumMonoid(9526)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(31, SumMonoid(22589)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(31, SumMonoid(8995)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(31, SumMonoid(22194)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 606), fp: EncodedCountingMonoid(7, SumMonoid(3971)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(7, SumMonoid(4464)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(8, SumMonoid(7025)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 567), fp: EncodedCountingMonoid(3, SumMonoid(1637)) }], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 936, 963], want_response: false }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(567, 595), items: [], want_response: false }, ItemSet { range: Range(531, 550), items: [548, 549], want_response: true }, ItemSet { range: Range(550, 567), items: [550], want_response: true }], wants: [596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 936, 567, 569], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 550), items: [531, 544], want_response: false }, ItemSet { range: Range(550, 567), items: [562], want_response: false }], wants: [548, 549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (936, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [531, 544, 562], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(531, true), (544, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 936, 567, 569, 531, 544, 562] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 936, 963, 990} + [53, 595, 607, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(32, SumMonoid(9526)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(31, SumMonoid(22589)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(32, SumMonoid(9526)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(31, SumMonoid(22589)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (194, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 194, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(31, SumMonoid(9332)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(31, SumMonoid(22589)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(31, SumMonoid(9387)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(30, SumMonoid(22045)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(8, SumMonoid(4739)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(7, SumMonoid(4711)) }, Fingerprint { range: Range(704, 849), fp: EncodedCountingMonoid(8, SumMonoid(6266)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(7, SumMonoid(6329)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 849), items: [706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 664, 674, 693, 694, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 849), items: [736, 755, 770, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 926, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 502, 531, 544, 562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(31, SumMonoid(9332)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(31, SumMonoid(22589)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(31, SumMonoid(9332)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(30, SumMonoid(21947)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 606), fp: EncodedCountingMonoid(6, SumMonoid(3440)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(6, SumMonoid(3822)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [596, 606, 609, 628, 641, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 596, 606, 609, 628, 641, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 595, 607, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(31, SumMonoid(9332)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(31, SumMonoid(22589)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(31, SumMonoid(9786)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(30, SumMonoid(22045)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(8, SumMonoid(4739)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(7, SumMonoid(4711)) }, Fingerprint { range: Range(704, 849), fp: EncodedCountingMonoid(8, SumMonoid(6266)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(7, SumMonoid(6329)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 849), items: [706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 567, 569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 664, 674, 693, 694, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 849), items: [736, 755, 770, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 926, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (567, true), (569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 548, 549, 550, 562, 567, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(31, SumMonoid(9332)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(31, SumMonoid(22589)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(7, SumMonoid(4046)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 567), items: [544, 562], want_response: true }, ItemSet { range: Range(567, 595), items: [567, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 567), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(567, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (567, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 567, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 567, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(31, SumMonoid(9332)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(30, SumMonoid(22022)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(6, SumMonoid(3479)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 569), items: [544, 562], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (476, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 476, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(30, SumMonoid(8856)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(30, SumMonoid(22022)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(6, SumMonoid(3479)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 569), items: [544, 562], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 562), fp: EncodedCountingMonoid(30, SumMonoid(8967)) }, Fingerprint { range: Range(562, 964), fp: EncodedCountingMonoid(29, SumMonoid(21478)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 562), items: [549, 550], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 641), fp: EncodedCountingMonoid(7, SumMonoid(4172)) }, Fingerprint { range: Range(641, 704), fp: EncodedCountingMonoid(7, SumMonoid(4711)) }, Fingerprint { range: Range(704, 849), fp: EncodedCountingMonoid(8, SumMonoid(6266)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(7, SumMonoid(6329)) }], item_sets: [ItemSet { range: Range(53, 549), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 459, 471, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 562), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 641), items: [607], want_response: true }, ItemSet { range: Range(641, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 849), items: [706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 459, 471, 489, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 607), items: [562, 569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 641), items: [609, 628], want_response: false }, ItemSet { range: Range(641, 704), items: [641, 642, 664, 674, 693, 694, 703], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 849), items: [736, 755, 770, 780, 801, 802, 807, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 926, 936, 963], want_response: false }], wants: [595, 607, 675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (459, true), (471, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [562, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(562, true), (569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 459, 471, 489, 502, 531, 544, 562, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706] [INFO] [stdout] [INFO] [stdout] all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 459, 471, 489, 502, 531, 544, 548, 549, 550, 562, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 459, 471, 489, 502, 531, 544, 548, 549, 550, 562, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 459, 471, 489, 502, 531, 544, 548, 549, 550, 562, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 703, 704, 705, 706, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(30, SumMonoid(8856)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(30, SumMonoid(22022)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(6, SumMonoid(3479)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 807), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(807, 964), fp: EncodedCountingMonoid(9, SumMonoid(7951)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 807), items: [705, 706], want_response: true }, ItemSet { range: Range(807, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 807), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(807, 964), items: [807, 815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 569), items: [544, 562], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (807, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 807, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(30, SumMonoid(8856)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(29, SumMonoid(21215)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 23, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 23, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(6, SumMonoid(3479)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (23, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 569), items: [544, 562], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569] [INFO] [stdout] b all: {23, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(30, SumMonoid(8856)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(29, SumMonoid(21215)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [990, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(6, SumMonoid(3479)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(9, SumMonoid(6734)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(990, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694, 703], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 569), items: [544, 562], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (703, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (562, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 544, 562, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 703, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(29, SumMonoid(8325)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(29, SumMonoid(21043)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [990, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(7, SumMonoid(4010)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(8, SumMonoid(6031)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(990, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 562), items: [531, 544], want_response: true }, ItemSet { range: Range(562, 595), items: [562, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 562), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(562, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 562, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (562, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 562, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(29, SumMonoid(8325)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(28, SumMonoid(20441)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [990, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3408)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(8, SumMonoid(6031)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(990, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 562), items: [531, 544], want_response: true }, ItemSet { range: Range(562, 595), items: [562, 569], want_response: true }, ItemSet { range: Range(595, 609), items: [596, 606], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 562), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(562, 595), items: [], want_response: false }, ItemSet { range: Range(595, 609), items: [595, 602, 607], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 562, 569, 596, 606], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550, 595, 602, 607], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (562, true), (569, true), (596, true), (606, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true), (595, true), (602, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 562, 569, 596, 606] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550, 595, 602, 607] [INFO] [stdout] [INFO] [stdout] all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 562, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 562, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 562, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 693, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(29, SumMonoid(8325)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(29, SumMonoid(21043)) }], item_sets: [ItemSet { range: Range(964, 53), items: [990, 27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [990, 27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(7, SumMonoid(4010)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(8, SumMonoid(6031)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(990, true), (27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 562), items: [531, 544], want_response: true }, ItemSet { range: Range(562, 595), items: [562, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 562), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(562, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 562, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (562, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [990, 27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 562, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963, 990} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(29, SumMonoid(8325)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(29, SumMonoid(21043)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(7, SumMonoid(4010)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(8, SumMonoid(6031)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 562), items: [531, 544], want_response: true }, ItemSet { range: Range(562, 595), items: [562, 569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 562), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(562, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 562, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (562, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 562, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 562, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(29, SumMonoid(8325)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(28, SumMonoid(20481)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(8, SumMonoid(6031)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (289, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 289, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(28, SumMonoid(8036)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(28, SumMonoid(20481)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(8, SumMonoid(6031)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(8, SumMonoid(7144)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [693, 694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (693, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 693, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(28, SumMonoid(8036)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(27, SumMonoid(19788)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(8, SumMonoid(6153)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(7, SumMonoid(6329)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 780, 801, 802, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (339, true), (355, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 355, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(27, SumMonoid(7681)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(27, SumMonoid(19788)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(8, SumMonoid(6153)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(7, SumMonoid(6329)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 780, 801, 802, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (339, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(27, SumMonoid(7895)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(26, SumMonoid(19257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(6, SumMonoid(3526)) }, Fingerprint { range: Range(628, 675), fp: EncodedCountingMonoid(5, SumMonoid(3249)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(8, SumMonoid(6153)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(7, SumMonoid(6329)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(628, 675), items: [628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 780, 801, 802, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (339, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }], wants: [628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 544, 569, 596, 606, 609], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550, 595, 607], provide: [(628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 544, 569, 596, 606, 609] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} + [53, 675, 704, 705, 706, 548, 549, 550, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(27, SumMonoid(7681)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(27, SumMonoid(19788)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 849), fp: EncodedCountingMonoid(8, SumMonoid(6153)) }, Fingerprint { range: Range(849, 964), fp: EncodedCountingMonoid(7, SumMonoid(6329)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 849), items: [705, 706], want_response: true }, ItemSet { range: Range(849, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 849), items: [736, 755, 770, 780, 801, 802, 815], want_response: false }, ItemSet { range: Range(849, 964), items: [849, 862, 896, 897, 926, 936, 963], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (339, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 963} + [53, 675, 704, 705, 706, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(27, SumMonoid(7681)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(26, SumMonoid(18825)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(7, SumMonoid(6181)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (339, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 339, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(26, SumMonoid(7342)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(26, SumMonoid(18825)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(7, SumMonoid(6181)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 862, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (862, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 862, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(26, SumMonoid(7342)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(25, SumMonoid(17963)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (223, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 223, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(25, SumMonoid(7119)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(25, SumMonoid(17963)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(25, SumMonoid(7386)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(24, SumMonoid(17432)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 628), fp: EncodedCountingMonoid(6, SumMonoid(3526)) }, Fingerprint { range: Range(628, 675), fp: EncodedCountingMonoid(5, SumMonoid(3249)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 544), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(628, 675), items: [628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }], wants: [628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 544, 569, 596, 606, 609], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550, 595, 607], provide: [(628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 544, 569, 596, 606, 609] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(25, SumMonoid(7119)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(25, SumMonoid(17963)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(25, SumMonoid(7119)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(24, SumMonoid(17419)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 628), fp: EncodedCountingMonoid(6, SumMonoid(3513)) }, Fingerprint { range: Range(628, 675), fp: EncodedCountingMonoid(5, SumMonoid(3249)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 628), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(628, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(628, 675), items: [628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 595), items: [531, 569], want_response: true }, ItemSet { range: Range(595, 606), items: [596, 602], want_response: true }, ItemSet { range: Range(606, 628), items: [606, 609], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 595), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(595, 606), items: [595, 602], want_response: false }, ItemSet { range: Range(606, 628), items: [607], want_response: false }], wants: [628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 569, 596, 606, 609], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550, 595, 607], provide: [(628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (569, true), (596, true), (606, true), (609, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true), (595, true), (607, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 569, 596, 606, 609] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550, 595, 607] [INFO] [stdout] [INFO] [stdout] all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 52, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 664, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(25, SumMonoid(7119)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(25, SumMonoid(17963)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27, 52], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27, 52], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true), (52, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 52, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(25, SumMonoid(7119)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(25, SumMonoid(17963)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(6, SumMonoid(3858)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 664, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (664, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 664, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(25, SumMonoid(7119)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(24, SumMonoid(17299)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 502), fp: EncodedCountingMonoid(24, SumMonoid(6617)) }, Fingerprint { range: Range(502, 964), fp: EncodedCountingMonoid(24, SumMonoid(17021)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 502), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(502, 606), fp: EncodedCountingMonoid(6, SumMonoid(3344)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(6, SumMonoid(3800)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(6, SumMonoid(4558)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 502), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(502, 544), items: [502, 531], want_response: true }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [595, 607, 675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(502, 544), items: [], want_response: false }, ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [596, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 801, 802, 815, 849, 896, 897, 926, 936, 502, 531, 544, 569], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (502, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 596, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 801, 802, 815, 849, 896, 897, 926, 936, 502, 531, 544, 569] [INFO] [stdout] b all: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 595, 607, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [27, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 736, 755, 770, 801, 802, 815, 849, 896, 897, 926, 936, 963] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 736, 755, 770, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 736, 755, 770, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(25, SumMonoid(7119)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(24, SumMonoid(17299)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 502), fp: EncodedCountingMonoid(24, SumMonoid(6617)) }, Fingerprint { range: Range(502, 964), fp: EncodedCountingMonoid(24, SumMonoid(17065)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 502), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(502, 606), fp: EncodedCountingMonoid(6, SumMonoid(3344)) }, Fingerprint { range: Range(606, 675), fp: EncodedCountingMonoid(6, SumMonoid(3800)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(6, SumMonoid(4602)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 502), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(502, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }], item_sets: [ItemSet { range: Range(595, 606), items: [595, 602], want_response: true }, ItemSet { range: Range(606, 675), items: [607], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(595, 606), items: [596, 602], want_response: false }, ItemSet { range: Range(606, 675), items: [606, 609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(502, 544), items: [502, 531], want_response: true }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [595, 607, 675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(502, 544), items: [], want_response: false }, ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [596, 606, 609, 628, 641, 642, 674, 694, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 502, 531, 544, 569], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (502, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 596, 606, 609, 628, 641, 642, 674, 694, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 502, 531, 544, 569] [INFO] [stdout] b all: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 595, 607, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] [INFO] [stdout] all vec: [27, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 53, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(25, SumMonoid(7119)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(24, SumMonoid(17299)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(59, true), (81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 59, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 531), fp: EncodedCountingMonoid(24, SumMonoid(7060)) }, Fingerprint { range: Range(531, 964), fp: EncodedCountingMonoid(24, SumMonoid(17299)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 531), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(531, 609), fp: EncodedCountingMonoid(6, SumMonoid(3448)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 531), items: [81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(531, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(531, 569), items: [531, 544], want_response: true }, ItemSet { range: Range(569, 595), items: [569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (217, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(531, 569), items: [548, 549, 550], want_response: false }, ItemSet { range: Range(569, 595), items: [], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (531, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 531, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 217, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(24, SumMonoid(7374)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(23, SumMonoid(16768)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 544), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (371, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 371, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(23, SumMonoid(7003)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(23, SumMonoid(16768)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 544), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 569), fp: EncodedCountingMonoid(23, SumMonoid(7346)) }, Fingerprint { range: Range(569, 964), fp: EncodedCountingMonoid(22, SumMonoid(16224)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(569, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 569), items: [549, 550], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(569, 628), fp: EncodedCountingMonoid(5, SumMonoid(2982)) }, Fingerprint { range: Range(628, 704), fp: EncodedCountingMonoid(5, SumMonoid(3279)) }, Fingerprint { range: Range(704, 815), fp: EncodedCountingMonoid(6, SumMonoid(4644)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 549), items: [81, 90, 117, 168, 178, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544], want_response: false }, ItemSet { range: Range(549, 569), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 628), items: [607], want_response: true }, ItemSet { range: Range(628, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 815), items: [706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 607), items: [569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 628), items: [609], want_response: false }, ItemSet { range: Range(628, 704), items: [628, 641, 642, 674, 694], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }], wants: [595, 607, 675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [569, 596, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706, 963] [INFO] [stdout] [INFO] [stdout] all vec: [27, 53, 81, 90, 117, 168, 178, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 53, 81, 90, 117, 168, 178, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 53, 81, 90, 117, 168, 178, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 674, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(23, SumMonoid(7003)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(23, SumMonoid(16768)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 815), fp: EncodedCountingMonoid(7, SumMonoid(5338)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(53, 544), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 815), items: [705, 706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 849, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (849, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 849, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(23, SumMonoid(7003)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(22, SumMonoid(15919)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 802), fp: EncodedCountingMonoid(6, SumMonoid(4536)) }, Fingerprint { range: Range(802, 964), fp: EncodedCountingMonoid(6, SumMonoid(5272)) }], item_sets: [ItemSet { range: Range(53, 544), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 802), items: [705, 706], want_response: true }, ItemSet { range: Range(802, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 802), items: [736, 755, 770, 780, 801], want_response: false }, ItemSet { range: Range(802, 964), items: [802, 815, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (531, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 531, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(22, SumMonoid(6472)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(22, SumMonoid(15919)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(5, SumMonoid(3194)) }, Fingerprint { range: Range(675, 802), fp: EncodedCountingMonoid(6, SumMonoid(4536)) }, Fingerprint { range: Range(802, 964), fp: EncodedCountingMonoid(6, SumMonoid(5272)) }], item_sets: [ItemSet { range: Range(53, 544), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 802), items: [705, 706], want_response: true }, ItemSet { range: Range(802, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642, 674], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 802), items: [736, 755, 770, 780, 801], want_response: false }, ItemSet { range: Range(802, 964), items: [802, 815, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (674, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 674, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(22, SumMonoid(6472)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(21, SumMonoid(15245)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(4, SumMonoid(2520)) }, Fingerprint { range: Range(675, 802), fp: EncodedCountingMonoid(6, SumMonoid(4536)) }, Fingerprint { range: Range(802, 964), fp: EncodedCountingMonoid(6, SumMonoid(5272)) }], item_sets: [ItemSet { range: Range(53, 544), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 802), items: [705, 706], want_response: true }, ItemSet { range: Range(802, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 802), items: [736, 755, 770, 780, 801], want_response: false }, ItemSet { range: Range(802, 964), items: [802, 815, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (270, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 270, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(21, SumMonoid(6202)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(21, SumMonoid(15245)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(4, SumMonoid(2520)) }, Fingerprint { range: Range(675, 802), fp: EncodedCountingMonoid(6, SumMonoid(4536)) }, Fingerprint { range: Range(802, 964), fp: EncodedCountingMonoid(6, SumMonoid(5272)) }], item_sets: [ItemSet { range: Range(53, 544), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 802), items: [705, 706], want_response: true }, ItemSet { range: Range(802, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 802), items: [736, 755, 770, 780, 801], want_response: false }, ItemSet { range: Range(802, 964), items: [802, 815, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 569), fp: EncodedCountingMonoid(21, SumMonoid(6435)) }, Fingerprint { range: Range(569, 964), fp: EncodedCountingMonoid(20, SumMonoid(14701)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(569, 704), fp: EncodedCountingMonoid(4, SumMonoid(2479)) }, Fingerprint { range: Range(704, 964), fp: EncodedCountingMonoid(4, SumMonoid(3078)) }], item_sets: [ItemSet { range: Range(53, 549), items: [53, 548], want_response: true }, ItemSet { range: Range(549, 569), items: [549, 550], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(569, 628), fp: EncodedCountingMonoid(5, SumMonoid(2982)) }, Fingerprint { range: Range(628, 704), fp: EncodedCountingMonoid(4, SumMonoid(2605)) }, Fingerprint { range: Range(704, 815), fp: EncodedCountingMonoid(6, SumMonoid(4644)) }, Fingerprint { range: Range(815, 964), fp: EncodedCountingMonoid(5, SumMonoid(4470)) }], item_sets: [ItemSet { range: Range(53, 549), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 317, 370, 422, 433, 459, 471, 489, 502, 544], want_response: false }, ItemSet { range: Range(549, 569), items: [], want_response: false }], wants: [53, 548, 549, 550], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 607), items: [595, 602], want_response: true }, ItemSet { range: Range(607, 628), items: [607], want_response: true }, ItemSet { range: Range(628, 704), items: [675], want_response: true }, ItemSet { range: Range(704, 706), items: [704, 705], want_response: true }, ItemSet { range: Range(706, 815), items: [706], want_response: true }, ItemSet { range: Range(815, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 317, 370, 422, 433, 459, 471, 489, 502, 544], provide: [(53, true), (548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(569, 607), items: [569, 596, 602, 606], want_response: false }, ItemSet { range: Range(607, 628), items: [609], want_response: false }, ItemSet { range: Range(628, 704), items: [628, 641, 642, 694], want_response: false }, ItemSet { range: Range(704, 706), items: [], want_response: false }, ItemSet { range: Range(706, 815), items: [736, 755, 770, 780, 801, 802], want_response: false }, ItemSet { range: Range(815, 964), items: [815, 896, 897, 926, 936], want_response: false }], wants: [595, 607, 675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (272, true), (277, true), (297, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true), (544, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [569, 596, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936], provide: [(595, true), (607, true), (675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(569, true), (596, true), (606, true), (609, true), (628, true), (641, true), (642, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (896, true), (897, true), (926, true), (936, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} + [53, 548, 549, 550, 595, 607, 675, 704, 705, 706, 963] [INFO] [stdout] [INFO] [stdout] all vec: [27, 53, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 317, 370, 422, 433, 459, 471, 489, 502, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 963] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 53, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 317, 370, 422, 433, 459, 471, 489, 502, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 53, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 317, 370, 422, 433, 459, 471, 489, 502, 544, 548, 549, 550, 569, 595, 596, 602, 606, 607, 609, 628, 641, 642, 675, 694, 704, 705, 706, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 963], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 964), fp: EncodedCountingMonoid(12, SumMonoid(7257)) }], item_sets: [ItemSet { range: Range(964, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 544), fp: EncodedCountingMonoid(21, SumMonoid(6202)) }, Fingerprint { range: Range(544, 964), fp: EncodedCountingMonoid(21, SumMonoid(15245)) }], item_sets: [ItemSet { range: Range(964, 53), items: [27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 675), fp: EncodedCountingMonoid(6, SumMonoid(3451)) }, Fingerprint { range: Range(675, 964), fp: EncodedCountingMonoid(5, SumMonoid(3753)) }], item_sets: [ItemSet { range: Range(53, 544), items: [53], want_response: true }], wants: [27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(544, 609), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(609, 675), fp: EncodedCountingMonoid(4, SumMonoid(2520)) }, Fingerprint { range: Range(675, 802), fp: EncodedCountingMonoid(6, SumMonoid(4536)) }, Fingerprint { range: Range(802, 964), fp: EncodedCountingMonoid(6, SumMonoid(5272)) }], item_sets: [ItemSet { range: Range(53, 544), items: [81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502], want_response: false }], wants: [53], provide: [(27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(544, 595), fp: EncodedCountingMonoid(3, SumMonoid(1647)) }, Fingerprint { range: Range(595, 609), fp: EncodedCountingMonoid(3, SumMonoid(1804)) }], item_sets: [ItemSet { range: Range(609, 675), items: [], want_response: true }, ItemSet { range: Range(675, 705), items: [675, 704], want_response: true }, ItemSet { range: Range(705, 802), items: [705, 706], want_response: true }, ItemSet { range: Range(802, 964), items: [963], want_response: true }], wants: [81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502], provide: [(53, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(609, 675), items: [609, 628, 641, 642], want_response: false }, ItemSet { range: Range(675, 705), items: [694], want_response: false }, ItemSet { range: Range(705, 802), items: [736, 755, 770, 780, 801], want_response: false }, ItemSet { range: Range(802, 964), items: [802, 815, 896, 897, 926, 936], want_response: false }, ItemSet { range: Range(544, 595), items: [544, 569], want_response: true }], wants: [675, 704, 705, 706, 963], provide: [(81, true), (90, true), (117, true), (168, true), (178, true), (201, true), (240, true), (243, true), (264, true), (272, true), (277, true), (297, true), (311, true), (317, true), (370, true), (422, true), (433, true), (459, true), (471, true), (489, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(544, 595), items: [548, 549, 550], want_response: false }], wants: [609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569], provide: [(675, true), (704, true), (705, true), (706, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [548, 549, 550], provide: [(609, true), (628, true), (641, true), (642, true), (694, true), (736, true), (755, true), (770, true), (780, true), (801, true), (802, true), (815, true), (896, true), (897, true), (926, true), (936, true), (544, true), (569, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(548, true), (549, true), (550, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} + [27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936, 544, 569] [INFO] [stdout] b all: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 694, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} + [53, 675, 704, 705, 706, 963, 548, 549, 550] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 548, 549, 550, 595, 602, 607, 675, 704, 705, 706, 963} [INFO] [stdout] b items: {27, 81, 90, 117, 168, 178, 201, 240, 243, 264, 272, 277, 297, 311, 317, 370, 422, 433, 459, 471, 489, 502, 544, 569, 596, 602, 606, 609, 628, 641, 642, 736, 755, 770, 780, 801, 802, 815, 896, 897, 926, 936} [WARN] too many lines in the log, truncating it